blob: a63378e56321998c975b688eb21cec59872dc3a2 (
plain) (
tree)
|
|
# This mapfile (or version script) lists the public symbols that are
# publically exported by each version of the tecla library. This file
# has the format required by the Sun and Linux linkers, and also acts
# as a template from which map files for other systems can be derived
# with awk or sed.
#
# Under Solaris and Linux, this map file is used by ld during shared
# library creation. It has two purposes:
#
# 1. It specifies which symbols in the library are to be made visible
# to applications. This has the dual benefits of reducing namespace
# polution, and of preventing applications from using private
# internal library functions that might change or disappear in
# future releases.
#
# 2. The information listed in this file is recorded in the shared
# library, such that when an application is linked against it, the
# linker can record a dependency in the application which says
# which is the earliest library version which included all of the
# symbols that the application needs. This means that if the
# application is copied to another system that has an earlier
# version of the library, the linker can quickly determine whether
# the earlier version contains all of the symbols that it needs.
#
# Under Linux, mapfiles can also be used to allow multiple
# incompatible versions of a given function to exist in a library,
# thus supporting applications that were compiled against different
# incompatible versions of the library. Since this feature (and the
# inclusion of .symver directives) isn't supported by Solaris, it
# can't be included in this file. Non backwards compatibility in the
# ABI must instead be handled in the more traditional way, by
# incrementing the major version number.
#
# When a new minor release is made, a new tecla_1.x specification
# should be added which inherits the symbols of the previous release
# and lists newly added functions. For example, below you will find
# the following clause:
#
# tecla_1.3 {
# global:
# ef_list_expansions;
# } tecla_1.2;
#
# This says that ef_list_expansions is the name of a public function
# that was added in the 1.3 release, and that the symbols defined in
# the previous tecla_1.2 clause have been inherited by tecla_1.3.
#
# For more details see the following URL:
#
# http://www.usenix.org/publications/library/proceedings/als2000/browndavid.html
#-------------------------------------------------------------------------------
tecla_1.2 {
global:
cfc_file_start;
cfc_literal_escapes;
cfc_set_check_fn;
cpl_add_completion;
cpl_check_exe;
cpl_complete_word;
cpl_file_completions;
cpl_init_FileArgs;
cpl_last_error;
cpl_list_completions;
cpl_record_error;
del_CplFileConf;
del_ExpandFile;
del_GetLine;
del_PathCache;
del_PcaPathConf;
del_WordCompletion;
ef_expand_file;
ef_last_error;
gl_change_terminal;
gl_customize_completion;
gl_get_line;
new_CplFileConf;
new_ExpandFile;
new_GetLine;
new_PathCache;
new_PcaPathConf;
new_WordCompletion;
pca_last_error;
pca_lookup_file;
pca_path_completions;
pca_scan_path;
pca_set_check_fn;
ppc_file_start;
ppc_literal_escapes;
local:
*;
};
tecla_1.3 {
global:
ef_list_expansions;
} tecla_1.2;
tecla_1.4 {
global:
gl_configure_getline;
gl_save_history;
gl_load_history;
gl_group_history;
gl_show_history;
gl_resize_history;
gl_limit_history;
gl_clear_history;
gl_toggle_history;
gl_watch_fd;
libtecla_version;
gl_terminal_size;
gl_state_of_history;
gl_range_of_history;
gl_size_of_history;
gl_lookup_history;
gl_echo_mode;
gl_replace_prompt;
gl_prompt_style;
gl_ignore_signal;
gl_trap_signal;
gl_last_signal;
} tecla_1.3;
tecla_l.5 {
global:
gl_inactivity_timeout;
gl_completion_action;
gl_register_action;
gl_display_text;
gl_error_message;
gl_return_status;
gl_set_term_size;
gl_list_signals;
gl_catch_blocked;
gl_io_mode;
gl_raw_io;
gl_normal_io;
gl_tty_signals;
gl_abandon_line;
gl_handle_signal;
gl_pending_io;
gl_bind_keyseq;
cpl_recall_matches;
gl_erase_terminal;
} tecla_1.4;
tecla_1.6 {
global:
gl_append_history;
gl_automatic_history;
gl_query_char;
gl_read_char;
} tecla_l.5;
|