definition module PlatformLinkOptions; from StdFile import :: Files; from State import :: State; from NamesTable import :: NamesTableElement; from pdSymbolTable import :: Sections; // pc specific :: *PlatformLinkOptions; // Accessors; set's plo_set_end_rva :: !Int !*PlatformLinkOptions -> *PlatformLinkOptions; plo_set_end_fp :: !Int !*PlatformLinkOptions -> *PlatformLinkOptions; plo_get_base_va :: !*PlatformLinkOptions -> (!Int,!*PlatformLinkOptions); plo_set_s_raw_data :: !Int !Int !*PlatformLinkOptions -> *PlatformLinkOptions; plo_set_fp_section :: !Int !Int !*PlatformLinkOptions -> *PlatformLinkOptions; plo_set_sections :: Sections !*PlatformLinkOptions -> *PlatformLinkOptions; plo_set_main_file_n_and_symbol_n :: !Int !Int !*PlatformLinkOptions -> *PlatformLinkOptions; plo_any_extra_sections :: !Bool !*PlatformLinkOptions -> *PlatformLinkOptions; plo_set_n_buffers :: !Int !*PlatformLinkOptions -> *PlatformLinkOptions; plo_set_c_stack_size :: !Int !*PlatformLinkOptions -> *PlatformLinkOptions; // Accessors; get's plo_get_start_fp :: !*PlatformLinkOptions -> (!Int,!*PlatformLinkOptions); plo_get_start_rva :: !*PlatformLinkOptions -> (!Int,!*PlatformLinkOptions); //plo_get_sections :: !*PlatformLinkOptions -> (!*Sections,!*PlatformLinkOptions); plo_get_section_fp :: !Int !*PlatformLinkOptions -> (!Int,!*PlatformLinkOptions); plo_get_n_buffers :: !*PlatformLinkOptions -> (!Int,!*PlatformLinkOptions); // Required, platform dependent functions (interface) DefaultPlatformLinkOptions :: PlatformLinkOptions; find_root_symbols :: *{!NamesTableElement} !*PlatformLinkOptions -> *(.Bool,Int,Int,.Bool,[(.Bool,{#Char},Int,Int)],*{!NamesTableElement},*PlatformLinkOptions); create_section_header_kinds :: !*State !*PlatformLinkOptions -> (!Int,!*State,!*PlatformLinkOptions); post_process :: !*State !*PlatformLinkOptions !*Files -> (!Bool,[String],!*State,!*PlatformLinkOptions,!*Files); // Required; platform INdependent functions apply_compute_section :: !Int !Int !Int !*PlatformLinkOptions !*State !*Files -> (!Bool,!Int,!Int,!Int,!Int,!*State,!*PlatformLinkOptions,!*Files); apply_generate_section :: !Int *File !*PlatformLinkOptions !*State !*Files -> (!Bool,!Int,!Int,!*File,!*PlatformLinkOptions,!*State,!*Files); // WAT HIERMEE TE DOEN? accessor; platform dependent plo_set_console_window :: !Bool !*PlatformLinkOptions -> *PlatformLinkOptions; plo_set_gen_relocs :: !Bool !*PlatformLinkOptions -> *PlatformLinkOptions; plo_set_gen_linkmap :: !Bool !*PlatformLinkOptions -> *PlatformLinkOptions; plo_set_gen_resource :: !Bool !String !*PlatformLinkOptions -> *PlatformLinkOptions; plo_set_base_va :: !Int !*PlatformLinkOptions -> *PlatformLinkOptions; plo_set_make_dll :: !Bool !*PlatformLinkOptions -> *PlatformLinkOptions; plo_set_exported_symbols :: [(String,String)] !*PlatformLinkOptions -> *PlatformLinkOptions; plo_set_main_entry :: !String !*PlatformLinkOptions -> *PlatformLinkOptions; create_buffers :: !*PlatformLinkOptions -> ({*{#Char}},!*{#Int},*PlatformLinkOptions); // Accessors; get's plo_get_console_windows :: !*PlatformLinkOptions -> (!Bool,!*PlatformLinkOptions);