This is pcn_linker.h in view mode; [Download] [Up]
/*
* PCN System Linker -- pcnlink
* Author: Steve Tuecke
* Argonne National Laboratory
*
* Please see the DISCLAIMER file in the top level directory of the
* distribution regarding the provisions under which this software
* is distributed.
*
* pcn_linker.h
*
* Miscellaneous header information needed by the linker.
*/
#ifndef _PCN_INCLUDE_PCN_LINKER_H
#define _PCN_INCLUDE_PCN_LINKER_H
#define LINKER_NAME "pcnlink"
#ifndef TRUE
#define TRUE 1
#define FALSE 0
#endif
/*
* Used for communication from the procedure handler to the
* node driver to tell the node driver if the procedure
* handler has terminated or is continuing execution as
* a result of the latest request.
*/
#define PROC_TERMINATE 0
#define PROC_CONTINUE 1
/*
* Procedure table message types.
*/
#define PROC_TABLE_NOT_FOUND -1
/*
* Some debugging stuff
*/
/*
#ifndef DEBUG
#define DEBUG 1
#define DEBUG_BUF_OVERFLOW 1
#endif
*/
#define DG_G_DRIVER 1
#define DG_N_DRIVER 2
#define DG_FILES 3
#define DG_PROC 4
#define DG_TABLE 5
#define DG_CALLS 6
#define DG_WRITE 7
#define DG_CODE 8
/*
* Requests that the procedure handler will receive.
*/
#define REQUEST_CALLED_BY 1
#define REQUEST_STOP_IF_UNUSED 2
#define REQUEST_RESOLVE_CALLS 3
#define REQUEST_PROC_EXTERNS 4
#define REQUEST_FOR_EXTERNS 5
#define REQUEST_FOR_TABLE 6
#define REQUEST_CONSTANTS 7
#define REQUEST_COUNTERS 8
#define REQUEST_CODE 9
#define REQUEST_PROC_HEADERS 10
#define REQUEST_TERMINATE 11
/*
* Reply codes to requests...
*/
#define REPLY_OUTPUT 101
#define REPLY_OUTPUT_LIST 102
#define REPLY_MESSAGE 103
#define REPLY_ERROR_BAD_CALL 104
/*
* The 'params' tuple is passed around to everything and contains
* parameters that define the specific actions of the run. It is
* just a tuple containing all of the parameters. The
* following macros can be used to access the various parameters
* by name.
*/
#define params_boot_mod params[0]
#define params_boot_proc params[1]
#define params_main_mod params[2]
#define params_main_proc params[3]
#define params_verbose params[4]
#define params_strip_trailing_underscore params[5]
#define params_pdb params[6]
#define params_profile params[7]
#define params_link_all params[8]
#define params_dg_g_driver_level params[9]
#define params_dg_n_driver_level params[10]
#define params_dg_files_level params[11]
#define params_dg_proc_level params[12]
#define params_dg_table_level params[13]
#define params_dg_calls_level params[14]
#define params_dg_write_level params[15]
#define params_dg_code_level params[16]
#define PARAMS_TUPLE_SIZE 17
/*
* Default values for the params
*/
#define DEFAULT_BOOT_MOD "boot"
#define DEFAULT_BOOT_PROC "boot"
#define DEFAULT_MAIN_MOD "main"
#define DEFAULT_MAIN_PROC "main"
#define DEFAULT_VERBOSE FALSE
#define DEFAULT_STRIP_TRAILING_UNDERSCORE FALSE
#define DEFAULT_PDB FALSE
#define DEFAULT_PROFILE FALSE
#define DEFAULT_LINK_ALL FALSE
#define DEFAULT_DG_G_DRIVER_LEVEL 0
#define DEFAULT_DG_N_DRIVER_LEVEL 0
#define DEFAULT_DG_FILES_LEVEL 0
#define DEFAULT_DG_PROC_LEVEL 0
#define DEFAULT_DG_TABLE_LEVEL 0
#define DEFAULT_DG_CALLS_LEVEL 0
#define DEFAULT_DG_WRITE_LEVEL 0
#define DEFAULT_DG_CODE_LEVEL 0
/*
* Default values for the resulting executable
*/
#define exe_defaults_user_banner exe_defaults[0]
#define exe_defaults_nodes exe_defaults[1]
#define exe_defaults_heap_size exe_defaults[2]
#define exe_defaults_heap_inc_proximity exe_defaults[3]
#define exe_defaults_heap_increment exe_defaults[4]
#define exe_defaults_heap_free_after_gc exe_defaults[5]
#define exe_defaults_heap_lowat exe_defaults[6]
#define exe_defaults_heap_hiwat exe_defaults[7]
#define exe_defaults_gc_slack exe_defaults[8]
#define exe_defaults_irt_size exe_defaults[9]
#define exe_defaults_irt_increment exe_defaults[10]
#define exe_defaults_gsq_interval exe_defaults[11]
#define EXE_DEFAULTS_TUPLE_SIZE 12
#define DEFAULT_USER_BANNER ""
#define DEFAULT_NODES -1
#define DEFAULT_HEAP_SIZE -1
#define DEFAULT_HEAP_INC_PROXIMITY -1
#define DEFAULT_HEAP_INCREMENT -1
#define DEFAULT_HEAP_FREE_AFTER_GC -1
#define DEFAULT_HEAP_LOWAT -1
#define DEFAULT_HEAP_HIWAT -1
#define DEFAULT_GC_SLACK -1
#define DEFAULT_IRT_SIZE 0
#define DEFAULT_IRT_INCREMENT 0
#define DEFAULT_GSQ_INTERVAL -1
/*
* A tuple is used by the procedure handler (link_proc, link_reply, link_code)
* to store and pass around static information about the procedure.
* These #defines are used to access the various parts of this
* tuple by name.
*/
#define pinfo_file_number pinfo[0]
#define pinfo_module_number pinfo[1]
#define pinfo_proc_number pinfo[2]
#define pinfo_module_name pinfo[3]
#define pinfo_proc_name pinfo[4]
#define pinfo_arity pinfo[5]
#define pinfo_exported pinfo[6]
#define pinfo_n_counters pinfo[7]
#define pinfo_n_timers pinfo[8]
#define pinfo_n_subsects pinfo[9]
#define pinfo_profile pinfo[10]
/*
* Maximum length of compile and link commands
*/
#define MAX_COMMAND_LENGTH 4096
/*
* Maximum length of any path
*/
#define MAX_PATH_LENGTH 1024
/*
* Estimated number of entries in the exported (global) table
*/
#define EXPORTED_TABLE_ENTRIES 1024
#endif /* _PCN_INCLUDE_PCN_LINKER_H */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.