iRMX® Human Interface System Calls Reference Manual: Order Number: 462918-001
iRMX® Human Interface System Calls Reference Manual: Order Number: 462918-001
iRMX® Human Interface System Calls Reference Manual: Order Number: 462918-001
• • • • • • • • • • • • •
• • • • • • • • • • • • • •
• • • • • • • • • • • • • •
• • • • • • • • • • • • • •
• • • • • • • • • • • • • •
• • • • • • • • • • • • • •
• • • • • • • • • • • • • •
• • • • • • • • • • • • • •
• • • • • • • • • • • • • •
• • • • • • • • • • • •
• • • • • • • • • • • • • •
• • • • • • • • • • • • • •
• • • • • • • • • • • • • •
• • • • • • • • • • • • • •
• • • • • • • • • • • • • •
• • • • • • • • • • • •
• • • • • • • • • • • •
• • • • • • • • • • • • • •
• • • • • • • • • • • • • •
• • • • • • • • • • • • • •
iRMX®
Human Interface
System Calls
Reference Manual
Intel Corporation
3065 Bowers Avenue
Santa Clara, California 95051
Intel Corporation makes no warranty of any kind with regard to this material, including, but not
limH,edto;th~ impliedwarrantiesof.merchantability and fitness for a particular purpose. Intel
Corporation assumes no responsibility for any errors that may appear in this document. Intel
Corporation makes no commitment to update or to keep current the information contained in this
doCUnient. .
Intel Corporation assumes no responsibility for the use of any circuitry other than circuitry
embodied in an Intel product. No other circuit patent licenses are implied.
Intel software products are copyrighted by and shall remain the property of Intel Corporation.
Use, duplication or disclosure is subject to restrictions stated in Intel's software license, or as
defined in ASPR 7-104.9 (a) (9).
No part of this document may be copied or reproduced in any form or by any means without prior
written consent ofIntel Corporation.
The following are trademarks of Intel Corporation and its affiliates and may be used only to
identify Intel products:
XENIX, MS-DOS, Multiplan, and Microsoft are trademarks of Microsoft Corporation. UNIX is a
trademark of Bell Laboratories. Ethernet is a trademark of Xerox Corporation. Centronics is a
trademark of Centronics Data Computer Corporation. Chassis Trak is a trademark of General
Devices Company, Inc. VAX and VMS are trademarks of Digital Equipment Corporation.
Smartmodem 1200 and Hayes are trademarks of Hayes Microcomputer Products, Inc. IBM,
PCIXT, and PC/AT are registered trademarks ofInternational Business Machines. Soft-Scope is a
registered trademark of Concurrent Sciences.
ii
REV. REVISION mSTORY DATE
iii/iv
PREFACE
This manual documents the system calls of the Human Interface, a subsystem of the
iRMX® I and iRMX II Operating Systems. The information provided in this manual is
intended as a reference to the system calls and provides detailed descriptions of each call.
READER LEVEL
This manual is intended for programmers who are familiar with the concepts and
terminology introduced in the iRM)(® I Nucleus User's Guide and the iRM)(® II Nucleus
User's Guide and with the PL/M programming language.
CONVENTIONS
System call names appear as headings on the outside upper corner of each page. The first
appearance of each system call name is printed in blue ink; subsequent appearances are in
black.
Throughout this manual, system calls are shown using a generic shorthand (such as
C$GET$CHAR instead of RQ$C$GET$CHAR). This convention is used to allow easier
alphabetic arrangement of the calls. The actual PL/M external-procedure names must be
used in all calling sequences.
You can also invoke the system calls from assembly language, but you must obey the PL/M
calling sequences when doing so. For more information on these calling sequences refer to
the iRM)(® I Programming Techniques Reference Manual or the iRM)(® II Programming
Techniques Reference Manual.
Index
This manual refers to PL/M data types such as BYTE, WORD, and SELECTOR, and
iRMX data types such as STRING. These words, when used as data types, are always
capitalized; their definitions are found in Appendix A of the iRMX® Human Interface User's
Guide. This manual also refers to an iRMX data type called TOKEN. You declare a
TOKEN to be literally a SELECTOR. The word "token" in lowercase refers to a value that
the iRMX Operating System assigns to an object. The operating system returns this value
to a TOKEN (the data type) when it creates the object.
NOTE
The POINTER value of NIL is used throughout this manual. For the
iRMX I Operating System, you may also use a value of zero in place of NIL.
However, Intel recommends that you use NIL in your iRMX I code to
maintain upward compatibility with the iRMX II Operating System. For a
description of the NIL built-in function, refer to the PL/M-86 or PL/M-286
user's guides.
If you are a new user of the Human Interface calls, you should review the parsing
considerations in the iRMX® Human Interface User's Guide before writing your source
code. You should also review the format of the released Human Interface commands.
They are described in the Operator's Guide To The iRMX® Human Interface.
This manual assumes that you are familiar with terms and concepts of the iRMX
'Operating System. If you are not, you should read Introduction To The iRMX® Operating
System and the chapters in the iRM)(® I Nucleus User's Guide or the iRM)(® II Nucleus
User's Guide that refer to the terms "memory pool" and "catalog."
I/O PROCESSING
COMMAND PARSING
MESSAGE PROCESSING
COMMAND PROCESSING
PROGRAM CONTROL
C$BACKUP$CHAR, a command parsing call, moves the parsing buffer pointer back one
byte.
CALL RQ$C$BACKUP$CHAR(except$ptr);
Output Parameter
except$ptr A POINTER to a WORD in which the Human Interface returns a
condition code.
Description
When an operator invokes a command, the command's parameters are placed in a parsing
buffer. The C$BACKUP$CHAR system call allows you to move the parsing buffer's
pointer back one character for each occurrence of the call.
Exception Codes
E$OK OOOOH No exceptional conditions were encountered.
E$CONTEXT GOOSH The job that issued the call is not an I/O job.
Input Parameters
default$ci A TOKEN for a connection that is used as the :CI: (console input)
for any commands you invoke using this command connection.
default$co A TOKEN for a connection that is used as the :CO: (console
output) for any commands you invoke using this command
connection.
flags A WORD used to indicate that the Human Interface should return
an E$ERROR$OUTPUT exception code if the system call
C$SEND$EO$RESPONSE is used by any task. If the user wants
the exception code, then the parameter is set to one (1); otherwise,
the parameter must equal zero (0).
Output Parameters
command$conn A TOKEN which receives a token for the new command
connection.
except$ptr A POINTER to a WORD in which the Human Interface returns a
condition code.
Description
You can use this call when you want to invoke a command programmatically instead of
interactively. It provides a place to store command lines until the command invocation is
complete.
The call creates an iRMX object called a command connection and returns a token for that
command connection. The C$SEND$COMMAND system call can use this token to send
command lines to the command connection, where they are stored until the command
invocation is complete. The command connection also defines default :CI: and :CO:
connections that are used by any commands invoked via this command connection.
Although a job can contain multiple command connections, the tasks in a job cannot create
command connections simultaneously. Attempts to do this result in an E$CONTEXT
exception code. Therefore, it is advisable for one task to create the command connections
for all tasks in the job.
A possible application where the parameter "flags" might be set to one is when you want to
write a custom CLI to perform batch jobs in the background. When any of the background
batch jobs attempt to communicate with the terminal through C$SEND$EO$RESPONSE,
the Human Interface issues an exception code. In this way, the Human Interface keeps all
the jobs in the background. Note that the Human Interface CLI does not provide resident
background or batch processing capability.
Exception Codes
E$OK OOOOH No exceptional conditions were encountered.
E$INVALID$FNODE 003DH The fnode associated with the specified file (:CI:
or :CO:) is invalid.
E$IO$MEM 0042H The Basic I/O System job does not currently
have a block of memory large enough to allow
the Human Interface to create a stream file.
E$LOG$NAME$NEXIST 0045H The call was unable to find the logical name
:STREAM: in the object directories of the local
job, the global job, or the root job.
E$NOPREFIX 8022H The calling task's job does not have a valid
default prefix.
E$NOUSER 8021H The calling task's job does not have a valid
default user object.
E$PARAM 8004H The system call forced the Extended I/O System
to attempt the physical attachment of the
:STREAM: device, which had formerly been only
logically attached. In the process, the Extended
I/O System found that the stream file driver is
not properly configured into your system, so the
physical attachment is not possible.
Input Parameter
command$conn A TOKEN for a valid command connection.
Output Parameter
except$ptr A POINTER to a WORD in which the Human Interface returns a
condition code.
Description
This call deletes a command connection object previously defined in a
C$CREATE$COMMAND$CONNECTION call and releases the memory used by the
command connection's data structures.
Exception Codes
E$OK OOOOH No exceptional conditions were encountered.
Input Parameters
buff$max A WORD that specifies the maximum number of bytes that may be
contained in the string pointed to by buff$p.
exception$code A WORD containing the exception code value for which a message
is to be created.
reserved$byte A BYTE reserved for future use. Its value must be one (1).
Output Parameters
buff$p A POINTER to a STRING into which the Human Interface
concatenates the formatted exception message.
except$ptr A POINTER to a WORD in which the Human Interface returns a
condition code.
Description
C$FORMAT$EXCEPTION causes the Human Interface to create a message for the
exception code. The message consists of the exception code value and exception code
mnemonic in the following format:
value: mnemonic
where the mnemonics are provided by the Human Interface from an internal table and are
listed in the Operator's Guide To The iRM)(® Human Interface.
The call concatenates the message to the end of the string pointed to by the buff$p pointer
and updates the count byte to reflect the addition. If a string is not already present in the
buffer, the first byte of the buffer must be a zero. The message added by
C$FORMAT$EXCEPTION will not be longer than 30 characters (not including the length
byte).
Exception Codes
E$OK OOOOH No exceptional conditions were encountered.
C$GET$CHAR, a command parsing call, gets a character from the parsing buffer.
char = RQ$C$GET$CHAR(except$ptr);
Output Parameters
char A BYTE in which the Human Interface places the next character
from the parsing buffer. A null (OOH) character is returned when
the parsing buffer's pointer is at the end of the parsing buffer.
except$ptr A POINTER to a WORD in which the Human Interface returns a
condition code.
Description
When an operator invokes a command, the command's parameters are placed in a parsing
buffer. The C$GET$CHAR system call gets a single character from that buffer and moves
the parsing buffer pointer to the next character. Consecutive calls to C$GET$CHAR
return consecutive characters from the parsing buffer.
Exception Codes
E$OK OOOOH No exceptional conditions were encountered.
E$CONTEXT OOOSH The calling task's job was not created by the
Human Interface. Refer to the iRMX® Extended
I/O System User's Guide for information.
Input Parameter
name$max A WORD that specifies the maximum length in bytes of the string
pointed to by the path$name$p parameter.
Output Parameters
path$name$p A POINTER to a buffer that receives a STRING containing the
name of the command.
except$ptr A POINTER to a WORD in which the Human Interface returns a
condition code.
Description
If a command needs to know the name under which it was invoked, the
C$GET$COMMAND$NAME returns this information. This information is available to
each command and is stored in a buffer that is separate from the parsing buffer.
Therefore, calling C$GET$COMMAND$NAME does not obtain information from the
parsing buffer, nor does it move the parsing pointer.
If the operator invokes the command without specifying a logical name, the Human
Interface automatically searches a number of directories for the command. In such cases,
the value returned by C$GET$COMMAND$NAME also includes the directory name
(such as :SYSTEM:, :PROG:, or :$:) as a prefix to the command name.
Exception Codes
E$OK OOOOH No exceptional conditions were encountered.
E$LIMIT 0004H The calling task's job was not created by the
Human Interface.
E$TlME OOOIH The calling task's job was not created by the
Human Interface.
Input Parameter
path$name$p A POINTER to a buffer that receives a STRING. (The path of the
specified input file.)
Output Parameters
connection A TOKEN in which the operating system returns the token for the
connection to the specified pathname.
except$ptr A POINTER to a WORD in which the Human Interface returns a
condition code.
Description
C$GET$INPUT$CONNECTION obtains a connection to the specified file. This
connection is open for reading and has the following attributes:
• Read only
• Accessible to all users
• Has two l024-byte buffers (This is the default size.)
Exception Codes
E$OK OOOOH No exceptional conditions were encountered.
E$INVALID$FNODE 003DH The fnode for the specified file is invalid, so the
file must be deleted.
E$NOPREFIX 8022H The calling task's job does not have a valid
default prefix.
E$NOUSER 8021H The calling task's job does not have a valid
default user.
Input Parameter
path$name$max A WORD that specifies the maximum length in bytes of the string
pointed to by the path$name$p parameter. The maximum length
that you can specify is 256 bytes (255 characters for the pathname
and one byte for the count).
Output Parame~ers
path$name$p A POINTER to a STRING which receives the next pathname in the
pathname list. A zero-length string indicates that there are no more
pathnames.
except$ptr A POINTER to a WORD in which the Human Interface returns a
condition code.
Description
The first call to C$GET$INPUT$PATHNAME retrieves the entire input pathname list
and moves the parsing pointer to the next parameter. C$GET$INPUT$PATHNAME
stores the list in an internal buffer and returns the first pathname in the string pointed to
by the path$name$p parameter. Succeeding calls to C$GET$INPUT$PATHNAME return
additional pathnames from the input pathname list but do not move the parsing pointer.
C$GET$INPUT$PATHNAME denotes the end of the pathname list by returning a zero-
length string.
Exception Codes
E$OK OOOOR No exceptional conditions were encountered.
E$INVALID$FNODE 003DH The fnode for the specified file is invalid, so the
file must be deleted.
E$NOPREFIX 8022H The calling task's job does not have a valid
default prefix.
E$NOUSER 8021H The calling task's job does not have a valid
default user object.
Input Parameters
path$name$p A POINTER to a STRING containing the pathname of the file to
be accessed.
preposition A BYTE that defines which preposition to use to create the output
file. Use one of the following values to specify the preposition
mode:
Value Meaning
o Use same preposition as was returned by
the last C$GET$OUTPUT$PATHNAME
call
1 TO
2 OVER
3 AFTER
4-255 Undefined, results in an error
Output Parameters
connection A TOKEN in which the Human Interface returns a token for the
connection to the output file.
except$ptr A POINTER to a WORD in which the Human Interface returns a
condition code.
Descri ption
C$GET$OUTPUT$CONNECTION obtains a connection to the specified file.
This connection is open for writing and has the following attributes:
• Write only
• Accessible to all
• Has two 1024-byte buffers
Exception Codes
E$OK OOOOH No exceptional conditions were encountered.
E$CONTEXT OOOSH The calling task's job was not created by the
Human Interface.
E$INVALID$FNODE 003DH The fnode for the specified file is invalid, so the
file must be deleted.
E$NOPREFIX 8022H The calling task's job does not have a valid
default prefix.
E$NOUSER 8021H The calling task's job does not have a valid
default user object.
E$PARAM 8004H The system call forced the Extended I/O System
to attempt the physical attachment of the device
referenced by the path$name$p parameter. The
device had formerly been only logically attached.
In the process, the Extended I/O System found
that the logical attachment referred to a file
driver (named, physical, or stream) that is not
configured into your system, so the physical
attachment is not possible.
Input Parameters
path$name$max A WORD that specifies the maximum length in bytes of the string
pointed to by the path$name$p parameter. The maximum length
that you can specify is 256 bytes (255 characters for the pathname
and one byte for the count).
default$output$p A POINTER to a STRING containing the command's default
standard output. If the first invocation of this system call does not
encounter a TO /OVER/AFTER preposition, the text of this
parameter will be used as though it had appeared in the command
line. The text must specify TO, OVER, or AFTER for the output
mode. Examples: TO :CO: or TO :LP:.
Output Parameters
preposition A BYTE describing the preposition type that
C$GET$OUTPUT$PATHNAME encountered. You can pass this
value to C$GET$OUTPUT$CONNECTION when obtaining an
output connection to the file. The value will be one of the following:
Value Meaning
1 TO
2 OVER
3 AFTER
path$name$p A POINTER to a buffer that receives a STRING. (The next
pathname in the pathname list.)
except$ptr A POINTER to a WORD in which the Human Interface returns a
condition code.
Description
You should not call C$GET$OUTPUT$PATHNAME before first calling
C$GET$INPUT$PATHNAME.
Exception Codes
E$OK GOOOH No exceptional conditions were encountered.
E$CONTEXT GOOSH The calling task's job was not created by the
Human Interface.
E$UNMATCHED$LISTS 008BH The numbers of files in the input and output lists
are not the same.
Input Parameters
name$max A WORD that specifies the maximum length in bytes of the string
pointed to by the name$p parameter. The maximum length is 256
bytes (255 characters for the name and one byte for the count).
value$max A WORD that specifies the maximum length in bytes of the string
pointed to by the value$p parameter. The maximum length is 65535
decimal bytes.
predict$list$p A POINTER to a STRING$TABLE, as described in Appendix B of
the iRMX® Hunzan Inteiface User's Guide, that specifies the values
that this system call accepts as prepositions. The predict$list$p
POINTER should be NIL if you do not intend to retrieve
parameters that use prepositions.
Output Parameters
more A BYTE value that indicates whether or not the current call to
C$GET$PARAMETER returned a parameter. A value of OOH
indicates that there are no more parameters (and that no parameter
was returned); a value of OFFH indicates that a parameter was
returned.
name$p A POINTER to a buffer that receives the keyword portion of the
parameter. If this parameter does not contain a keyword portion,
the Human Interface returns a null (zero-length) string.
value$p A POINTER to a buffer used to store a STRING$TABLE, as
described in Appendix B of the iRMX® Human Inteiface User's
Guide, that receives the value portion of the parameter. If the value
portion contains a list of values separated by commas, the Human
Interface returns the values to the string table one value per string.
Description
C$GET$PARAMETER retrieves one parameter from the parsing buffer and moves the
parsing pointer to the next parameter. The parameter can be one of the following:
• keyword/value-list parameter using parentheses
• keyword/value-list parameter using an equal sign
• keyword/value-list parameter with the keyword as a preposition
• value-list without a keyword
A description of the types, format, and syntax of acceptable parameters is provided in the
iRMX® Human Interface User's Guide.
C$GET$PARAMETER places the keyword portion of the parameter in the string pointed
to by name$p; it places the keyword list in the string table pointed to by value$p.
Exception Codes
E$OK OOOOH No exceptional conditions were encountered.
E$CONTEXT OOOSH The calling task's job was not an I/O job. (Refer
to the iRMX® Extended I/O System User's Guide
for information about I/O jobs.)
Input Parameters
command$conn A TOKEN for the command connection that receives the command
line.
line$p A POINTER to a buffer used to store a STRING containing a
command line to execute.
Output Parameters
command$except$ptr A POINTER to a WORD in which the Human Interface returns
a condition code indicating the status of the invoked command.
This parameter is undefined if an exceptional condition code is
returned in the WORD pointed to by except$ptr.
except$ptr A POINTER to a WORD in which the Human Interface returns
a condition code indicating the status of the
C$SEND$COMMAND system call.
Description
You can use this system call when you want to invoke a command programmatically
instead of interactively. It stores a command line in the command connection created by
the C$CREATE$COMMAND$CONNECTION call, concatenates the command line with
any others already stored there, and (if the command invocation is complete) invokes the
command. The command can be any standard Human Interface command (as described in
the Operator's Guide To The iRMX® HUllzan Inteiface) or a command that you create.
As described in greater detail in the Operator's Guide To The iRMX® Hunlan Inteiface, a
command invocation can contain several continuation marks. The continuation mark (&)
indicates that the command line is continued on the next line. If the command line sent by
C$SEND$COMMAND is continued on another line (that is, contains a continuation
mark), the Human Interface returns an E$CONTINUED exception code and does not
invoke the command. You can then call C$SEND$COMMAND any number of times to
send the continuation lines.
C$SEND$COMMAND concatenates the original command line and all continuation lines
into a single command line in the command connection. It removes all continuation marks
and comments from this command line.
When the command invocation is complete (that is, the line sent by
C$SEND$COMMAND does not contain a continuation mark), the Human Interface
parses the command pathname from the command line. If no exception conditions halt the
process at this point, the Human Interface requests the Application Loader to load and
execute the command.
An Application Loader call creates an I/O job for the command, and validates the header,
group definition and segment definition records of the command's object file. Refer to the
8086 Family Utilities User's Guide or the iAPX 286 Utilities User's Guide For iRMX® II
Systems for explanations of segments, groups and object file formats.
NOTE
When a C$SEND$COMMAND call is made, the Human Interface sets the
CONTROL-C semaphore to the default Human Interface CONTROL-C
handler. If you previously set the CONTROL-C handler, it must be set
again after making this call. For more information see the iRMX® Human
Interface User's Guide.
Exception Codes
E$OK OOOOH No exceptional conditions were encountered.
E$CONTEXT OOOSH The calling task's job was not created by the
Human Interface.
E$DEV$DETACHING 0039H The device containing the object file was in the
process of being detached.
E$FACCESS 0026H The default user for the calling task's job does
not have read access to the object file.
E$FLUSHING 002CH The device containing the object file was being
detached.
E$INVALID$FNODE 003DH The fnode for the specified file is invalid, so the
file must be deleted.
E$IO$MEM 0042H The Basic I/O System does not currently have
enough memory to allow the Human Interface to
create the connection necessary to allow this call
to run to completion.
E$ LITE RAL 0080H The call found a literal (quoted string) with no
closing quote while scanning the contents of the
command line pointed to by the line$p
parameter.
E$MEDIA 0044H The device containing the object file was off-line.
If the device has removable media, the media
may not be in place.
E$NOPREFIX 8022H The calling task's job does not have a valid
defa ult prefix.
E$NOUSER 8021H The calling task's job does not have a valid
default user.
E$TIME 000IH The calling task's job was not created by the
Human Interface.
Input Parameters
response$max A WORD whose value specifies the maximum length in bytes of the
string pointed to by the response$p parameter. The value in
response$max must equal the length of the string plus one
(string length + 1). If response$max is zero or one, no response
from :CI: will be requested; control returns to the calling task
immediately.
message$p A POINTER to a STRING containing the message to be sent to
:CO:. If NIL, no message is sent.
Output Parameters
response$p A POINTER to a buffer that receives the operator's response from
:CI:.
except$ptr A POINTER to a WORD in which the Human Interface returns a
condition code.
Description
When used with all its features, C$SEND$CO$RESPONSE sends the string pointed to by
message$p to :CO: and waits for a response from :CI:. It places this response in the string
pointed to by response$p. However, if message$p is NIL, C$SEND$CO$RESPONSE
omits sending the message to :CO:; if either response$max or response$p is NIL, it does
not wait for a response from :CI:. Therefore, the operations performed by
C$SEND$CO$RESPONSE depend on the values of the message$p and response$max
parameters, as follows:
If C$SEND$CO$RESPONSE requests a response from :CI:, output from other tasks can
be displayed at :Co: while the system waits for a response from :CI:.
Exception Codes
E$OK OOOOH No exceptional conditions were encountered.
E$CONTEXT 0005H The calling task's job was not created by the
Human Interface.
E$EXIST 0006H The token value for :CI: or :Co: is not a token
for an existing object.
E$FLUSHING 002CH The device containing the :CI: and :Co: files was
being detached.
E$TIME OOOIH The calling task's job was not created by the
Human Interface.
Input Parameters
response$max A WORD that specifies the maximum length in bytes of the string
pointed to by the response$p parameter. The value in
response$max must equal the length of the string plus one
(stringlength + 1). If response$max is zero or one, no response
from the operator's terminal will be requested; control returns to
the calling task immediately.
message$p A POINTER to a buffer containing the message to be sent to the
operator's terminal. If NIL, no message is sent.
Output Parameters
response$p A POINTER to a STRING that receives the operator's response
from the terminal.
except$ptr A POINTER to a WORD in which the Human Interface returns a
condition code.
Description
When used with all its features, C$SEND$EO$RESPONSE sends the string pointed to by
message$p to the operator's terminal and waits for a response from the operator. It places
this response in the string pointed to by response$p. However, if message$p is NIL,
C$SEND$EO$RESPONSE omits sending the message to the operator; if either
response$max is zero or response$p is NIL, it does not wait for a response. Therefore, the
operations performed by C$SEND$EO$RESPONSE depend on the values of the
message$p and response$max parameters, as follows:
Exception Codes
E$OK OOOOH No exceptional conditions were encountered.
E$CONTEXT 0005H The calling task's job was not created by the
Human Interface.
E$EXIST 0006H The token values for the operator's terminal are
not for existing objects.
E$MEM 0OO2H The memory pool of the calling task's job does
not currently have a block of memory large
enough to allow this system call to run to
completion.
E$TIME OOOIH The calling task's job was not created by the
Human Interface.
Input Parameter
control$c$semaphore A TOKEN for a user-created semaphore that will receive units
when a CONTROL-C is typed on the console keyboard.
NOTE
When a C$SEND$COMMAND call is made, the Human Interface sets the
CONTROL-C semaphore to the default Human Interface CONTROL-C
handler. If you previously set the CONTROL-C handler, it must be set
again after making this call. For more information see the iRMX® Hun1an
Interface User's Guide.
Output Parameter
except$ptr A POINTER to a WORD in which the Human Interface returns a
condition code.
Description
This call lets you change the default response to a CONTROL-C entry to a response that
meets the needs of your task. (The Human Interface's default CONTROL-C action is to
delete the actingjob--for example, any Human Interface command.)
One unit will be sent to the semaphore each time a CONTROL-C is typed. Any units sent
to the semaphore that exceed the maximum number specified during system configuration
will be ignored.
Exception Codes
E$OK OOOOH No exceptional conditions were encountered.
E$CONTEXT 0005H The calling task's job was not an I/O job. (Refer
to the iRMX® Extended I/O System User's Guide
for information about I/O jobs.)
Input Parameters
buff$p A POINTER to a buffer containing a STRING containing the text
to be parsed. If the buff$p is NIL, the buffer used for parsing
reverts to the command line buffer and the buff$max parameter is
ignored.
buff$max A WORD that specifies the length in bytes of the STRING pointed
to by the buff$p parameter.
Output Parameters
offset A WORD in which the Human Interface places the byte offset from
the start of the parsing buffer of the last byte parsed in the previous
parsing buffer.
except$ptr A POINTER to a WORD in which the Human Interface returns a
condition code.
Description
C$SET$PARSE$BUFFER allows you to parse buffers other than the command line. You
can change buffers at will; you can also revert to the command line parsing buffer by calling
C$SET$PARSE$BUFFER with buff$p = NIL. However, only one parsing buffer per job
can be active at any given time.
When called, C$SET$PARSE$BUFFER sets the parsing pointer to the beginning of the
specified buffer. However, it also returns a value (in the offset parameter) that identifies
the last byte parsed in the previous parsing buffer. This gives you the ability, when
switching back to the previous buffer, of positioning the parsing pointer to its previous
position with successive calls to C$GET$CHAR.
Note that C$SET$PARSE$BUFFER does not affect the buffer from which
C$GET$INPUT$PATHNAME and C$GET$OUTPUT$PATHNAME retrieve
pathnames. These system calls always obtain their pathnames from the command line.
Exception Codes
E$OK OOOOH No exceptional conditions were encountered.
E$CONTEXT OOOSH The calling task's job was not created by the
Human Interface. (Refer to the iRM)(® Extended
I/O System User's Guide for information.)
C
C$BACKUP$CHAR 5
C$CREATE$COMMAND$CONNECTION 6
C$DELETE$COMMAND$CONNECTION 10
C$FORMAT$EXCEPTION 11
exception code format 11
C$GET$CHAR 13
C$GET$COMMAND$NAME 15
C$GET$INPUT$CONNECTION 17
errors returned to :CO: 17
C$GET$INPUT$PATHNAME 23
C$GET$OUTPUT$CONNECTION 29
errors returned to :CO: 30
C$GET$OUTPUT$PATHNAME 36
C$GET$PARAMETER 39
C$SEND$CO$RESPONSE 50
C$SEND$COMMAND 43
C$SEND$EO$RESPONSE 53
C$SET$CONTROL$C 56
C$SET$PARSE$BUFFER 58
Command connection 6
deleting 10
Command pathname 15
CONTROL-C
default handler 56
semaphore 56
D
Default message
creating 11
Deleting a commang connection 10
E
E$LIST
improper value examples 41
EIOS connection 17,29
Exception code
default message 11
format 11
M
Message
reading from :CI: 50
sending to :Co: 50
reading from operator's terminal 53
sending to operator's terminal 53
p
Parsing buffer
changing 58
getting a character 13
getting a parameter 39
input pathnames 23
output pathname 36
pointer 5
Preposition parameter values
C$GET$OUTPUT$CONNECTION 29
C$GET$OUTPUT$PATHNAME 36
s
System call dictionary 3
Intel's Technical Publications Departments attempt to provide publications that meet the needs of a
Intel product users. This form lets you participate directly in the publication process. Your commen1
will help us correct and improve our publications. Please take a few minutes to respond.
Please restrict your comments to the usability, accuracy, organization, and completeness of thi
publication. If you have any comments on the product that this publication describes, please contac
your Intel representative.
1. Please describe any errors you found in this publication (include page number).
2. Does this publication cover the information you expected or required? Please make suggestion
for improvement.
3. Is this the right type of publication for your needs? Is it at the right level? What other types 0
publications are needed?
TITLE
COMPANYNAM~DEPARTMENT ____________________________________________~
ADDRESS PHONE (
-----------------------------------------------------~~--~-----------
CITY
------------------------- STATE
(COUNTRY)
-------------------- ZIP CODE
is document is one of a series describing Intel products. Your comments on the back of this form will
Ip us produce better manuals. Each reply will be carefully reviewed by the responsible person. All
mments and suggestions become the property of Intel Corporation.
'ou are in the United States, use the preprinted address provided on this form to return your
mments. No postage is required. If you are not in the United States, return your comments to the Intel
les office in your country. For your convenience, international sales office addresses are printed on
~ last page of this document.
NO POSTAGE
NECESSARY
IF MAILED
INTHE
UNITED STATES