SUBROUTINE PROMPT(LUN,PRMPT,IBUF,ILEN,RAL,NOECHO,ISW) C C C COMPONENT: PROMPT C C DATE: 10-JUL-79 C C AUTHOR: GR JOHNSON C BATTELLE NORTHWEST C P O BOX 999 C RICHLAND WA 99352 C C SOURCE: MACRO-11 C C CALLER: FORTRAN IV-PLUS C C CALLING SEQUENCE: C C CALL PROMPT(LUN,PRMPT,IBUF,[ILEN],[RAL],[NOECHO],[ISW]) C C LUN = INTEGER CONTAINING A LOGICAL UNIT NUMBER. C C PRMPT = VARIABLE OR ARRAY CONTAINING THE PROMPT STRING C TO BE WRITTEN BEFORE ACCEPTING TERMINAL INPUT. C THE STRING MAY CONTAIN UP TO 80 ASCII CHARACTERS C INCLUDING THE MANDATORY NULL TERMINATOR. C C IBUF = VARIABLE OR ARRAY TO RECEIVE TERMINAL INPUT. C C ILEN = OPTIONAL INTEGER ARGUMENT SPECIFYING THE NUMBER C OF CHARACTERS TO BE INPUT. (DEFAULT=1) C C RAL = OPTIONAL LITERAL 'READALL' INDICATING THAT ALL C EIGHT BITS OF THE BYTE ARE TO BE INPUT WITHOUT C INTERFERENCE BY THE TERMINAL DEVICE HANDLER. C C NOECHO = OPTIONAL LITERAL 'NOECHO' INDICATING THAT CHAR- C ACTERS INPUT WILL NOT BE ECHOED BY THE TERMINAL C DEVICE HANDLER. C C ISW = VARIABLE TO RECEIVE THE INTEGER STATUS WORD. C C +NN = SUCCESS. NN CHARACTERS RECEIVED. C C -10 = END-OF-FILE ENCOUNTERED C C -NN = OTHER FCS ERROR CODE C C C DESCRIPTION: C C "PROMPT" INPUTS AN ARRAY OF BYTES USING THE QIO IO.RPR (READ C WITH PROMPT) FUNCTION. THE ROUTINE MAY BE USED WHENEVER IT IS DE- C SIRABLE TO INPUT CHARACTERS FROM A TERMINAL DEVICE USING THE SPECIAL C HANDLING OPTIONS PROVIDED. C C PROMPT INPUT REQUESTS ARE SATISFIED WHEN EITHER THE USER BUFFER IS C FILLED (ILEN CHARACTERS HAVE BEEN READ), OR ONE OF THE TERMINATION C CHARACTERS (CARRIAGE RETURN OR ESCAPE) IS TYPED. THE USER BUFFER IS C BLANK FILLED ON RETURN AND THE ACTUAL NUMBER OF CHARACTERS INPUT IS C RETURNED IN THE INTEGER STATUS WORD. C C C EXAMPLES: C C CALL PROMPT(5,'CHARACTER? ',CHAR) C C CALL PROMPT(5,'PASSWORD? ',PASWRD,6,,'NOECHO') C C C IN THE FIRST EXAMPLE A SINGLE ASCII CHARACTER IS INPUT FROM THE C TERMINAL. THE SECOND EXAMPLE DEMONSTRATES HOW PROMPT MIGHT BE USED TO C INPUT A "SECRET" PASSWORD. C C