03/31/83 get_entry_arg_descs_ This subroutine returns information about the calling sequence of a procedure entry point. Entry points in get_entry_arg_descs_: (List is generated by the help command) :Entry: get_entry_arg_descs_: 02/01/83 get_entry_arg_descs_ Function: given a pointer to the entry sequence or segdef of a procedure entry point, returns a list of argument descriptors describing the parameters of the entry point. Syntax: declare get_entry_arg_descs_ entry (ptr, fixed bin, (*) ptr, fixed bin(35)); call get_entry_arg_descs_ (entry_ptr, nargs, desc_ptrs, code); Arguments: entry_ptr points to the entry sequence or segdef of the procedure entry point whose parameter descriptors are to be described. (Input) nargs is the number of parameters declared in the procedure entry point. (Output) desc_ptrs is an array of pointers to the argument descriptors describing the declared parameters of the entry point. If dimension (desc_ptrs, 1) is less than nargs, the pointers identify the first dimension (desc_ptrs, 1) parameter descriptors. (Output) code is a standard status code. It can be: error_table_$nodescr the entry point did not have parameter descriptors. (Output) Notes: For some version 0 object segments, a code of zero is returned, nargs is set, but the descriptor pointers in desc_ptrs are null. :Entry: info: 02/01/83 get_entry_arg_descs_$info Function: This entry point, given a pointer to the entry sequence or segdef of a procedure entry point, returns a list of argument descriptors describing the parameters of the entry point, plus a set of entry sequence flags which further describe the entry point. Syntax: declare get_entry_arg_descs_$info entry (ptr, fixed bin, (*) ptr, ptr, fixed bin(35)); call get_entry_arg_descs_$info (entry_ptr, nargs, desc_ptrs, entry_desc_info_ptr, code); Arguments: entry_ptr points to the entry sequence or segdef of the procedure entry point whose parameter descriptors are to be described. (Input) nargs is the number of parameters declared in the procedure entry point. (Output) desc_ptrs is an array of pointers to the argument descriptors describing the declared parameters of the entry point. If dimension (desc_ptrs, 1) is less than nargs, the pointers identify the first dimension (desc_ptrs, 1) parameter descriptors. (Output) entry_desc_info_ptr points to the entry_desc_info structure described under "Notes" below. (Input) code is a standard status code. It can be: error_table_$nodescr the entry point did not have parameter descriptors. (Output) Notes: The entry_desc_info_ptr argument of get_entry_arg_descs_$info points to the structure shown below. This structure is declared in entry_desc_info.incl.pl1. dcl 1 entry_desc_info aligned based(entry_desc_info_ptr), 2 version fixed bin, 2 flags, (3 basic_indicator, 3 revision_1, 3 has_descriptors, 3 variable, 3 function) bit(1) unaligned, 3 pad bit(13) unaligned, entry_desc_info_version_1 fixed bin int static options(constant) init(1), entry_desc_info_ptr ptr; Structure elements: version is the version number of this structure. The current version number is 1. The named constant, entry_desc_info_version_1 should be used to set this version number. flags are the flags which further describe the procedure entry point. basic_indicator is on if the entry point is in a program written in the BASIC language. revision_1 is on if the entry sequence has version 1 descriptor data. has_descriptors is on if the entry sequence has argument descriptors describing its parameters. variable is on if the entry point accepts an undefined number of arguments, and has been declared with the options(variable) attribute. This flag will usually be off for entry points in command and active function procedures, even though these procedures accept a variable number of arguments. Command and active function procedures usually do not declare their entry points with explicit parameters or with the options(variable) attribute. function is on if the procedure entry point is a function which returns a value. The final parameter argument descriptor describes this return value. entry_desc_info_version_1 is a named constant which the caller should use to set the version number in the structure above. entry_desc_info_ptr points to the structure above. :Entry: text_only: 02/01/83 get_entry_arg_descs_$text_only Function: This entry point, given a pointer to the entry sequence of a procedure entry point, returns a list of argument descriptors describing the parameters of the entry point. It differs from the get_entry_arg_descs_ entry point, in that it assumes that it is given a pointer to an entry sequence in the text section of the procedure, rather than checking to see if it was given a pointer to a segdef. Syntax: declare get_entry_arg_descs_$text_only entry (ptr, fixed bin, (*) ptr, fixed bin(35)); call get_entry_arg_descs_$text_only (entry_ptr, nargs, desc_ptrs, code); Arguments: The arguments are the same as for the get_entry_arg_descs_ entry point above. If entry_ptr does not point to an entry point in the text section, then error_table_$nodescr is returned as the value of code. :Entry: text_only_info: 02/01/83 get_entry_arg_descs_$text_only_info Function: This entry point, given a pointer to the entry sequence of a procedure entry point, returns a list of argument descriptors describing the parameters of the entry point, plus a set of entry sequence flags which further describe the entry point. It differs from the get_entry_arg_descs_$info entry point, in that it assumes that it is given a pointer to an entry sequence in the text section of the procedure, rather than checking to see if it was given a pointer to a segdef. Syntax: declare get_entry_arg_descs_$text_only_info entry (ptr, fixed bin, (*) ptr, ptr, fixed bin(35)); call get_entry_arg_descs_$text_only_info (entry_ptr, nargs, desc_ptrs, entry_desc_info_ptr, code); Arguments: The arguments are the same as for the get_entry_arg_descs_$info entry point above. ----------------------------------------------------------- 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