10/16/87 abbrev_ The abbrev_ subroutine provides a means of expanding abbreviations in command lines and changing data in and extracting data from the profile segments used by the abbrev command. All of the features of the command itself are available and a simple expand entry point is provided for returning expanded command lines. Entry points in abbrev_: (List is generated by the help command) :Entry: abbrev_: 02/07/84 abbrev_ Function: The main entry point is used to expand and execute a command line. The command line can be an abbrev request line, as recognized by the abbrev command. An abbrev request line can be used to add and delete abbreviations and change the modes of operation of abbrev. The abbrev command need not be invoked in the process before the abbrev_ subroutine can be called. Syntax: declare abbrev_ entry (ptr, fixed bin(21), fixed bin(35)); call abbrev_ (line_ptr, line_len, code); Arguments: line_ptr is a pointer to a character string to be interpreted as a command line or an abbrev request line. (Input) line_len is the number of characters in the input line. (Input) code is a standard status code returned by the command processor. (Output) :Entry: expand_line: 10/16/87 abbrev_$expand_line Function: This entry point returns an expanded abbreviation of an input string that is of the type specified by the input parameter "abbrev_type". See the description of the abbrev command for a discussion of abbrev expansion. Syntax: declare abbrev_$expand_line entry (fixed bin, ptr, fixed bin(21), ptr, fixed bin(21), ptr, fixed bin(35)); call abbrev_$expand_line (abbrev_type, in_ptr, in_len, space_ptr, space_len, out_ptr, out_len); Arguments: abbrev_type defines the types of abbreviations to expand. Defined values are: EXPAND_BOL_ONLY (1), or EXPAND_INTERNAL_ONLY (2), or EXPAND_BOTH (3). (Input) in_ptr is a pointer to a character string to be expanded. (Input) in_len is the number of characters in the input string. (Input) space_ptr is a pointer to a work space where the expanded character string can be placed. (Input) space_len is the number of characters available in the work space. (Input) out_ptr points to the expanded string. (Output) out_len is the number of characters in the expanded string. (Output) Notes: If the length of the expanded string exceeds the length of the work space provided, the expanded line is allocated in the system free area (see the get_system_free_area_ subroutine), It is the user's responsibility to free this storage when it is no longer needed. The space_ptr pointer should not point to the same string as in_ptr since expansion is done directly into the work space. :Entry: expanded_line: 02/07/84 abbrev_$expanded_line Function: This entry point returns an expanded version of an input string. See the description of the abbrev command for a discussion of abbrev expansion. Syntax: declare abbrev_$expanded_line entry (ptr, fixed bin(21), ptr, fixed bin(21), ptr, fixed bin(35)); call abbrev_$expanded_line (in_ptr, in_len, space_ptr, space_len, out_ptr, out_len); Arguments: in_ptr is a pointer to a character string to be expanded. (Input) in_len is the number of characters in the input string. (Input) space_ptr is a pointer to a work space where the expanded character string can be placed. (Input) space_len is the number of characters available in the work space. (Input) out_ptr points to the expanded string. (Output) out_len is the number of characters in the expanded string. (Output) Notes: If the length of the expanded string exceeds the length of the work space provided, the expanded line is allocated in the system free area (see the get_system_free_area_ subroutine), It is the user's responsibility to free this storage when it is no longer needed. The space_ptr pointer should not point to the same string as in_ptr since expansion is done directly into the work space. :Entry: set_cp: 02/07/84 abbrev_$set_cp Function: This entry point sets up a different command processor to be called by the abbrev_ subroutine after a command line is expanded. Its argument is an entry. If the first pointer in the entry is null, the command processor to be called is command_processor_. Syntax: declare abbrev_$set_cp entry (entry); call abbrev_$set_cp (cp_entry); Arguments: cp_entry is a command processor entry point. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved