SENDMAIL [ MPE/iX Intrinsics Reference Manual ] MPE/iX 5.0 Documentation
MPE/iX Intrinsics Reference Manual
SENDMAIL
NM and CM callable.
Sends mail to another process. Process handling (PH) capability is
required.
Syntax
__________________________________________________________
| |
| U16 I16V I16V UDS U16V |
| mailstatus:=SENDMAIL(pin,length,location,waitflag);|
__________________________________________________________
Functional Return
mailstatus 16-bit unsigned integer (assigned functional
return)
Returns one of the following values:
Value Meaning
0 Mail transmitted successfully and mailbox contained no
previous mail.
1 Mail was transmitted successfully and mailbox
contained mail sent previously that was overwritten by
the new mail, or contained previous incoming/outgoing
mail that was cleared.
2 Mail not transmitted successfully; mailbox contained
incoming mail to be collected by the sending process
(regardless of the waitflag setting).
3 Error occurred; an illegal pin parameter was specified
or a bounds check failed.
4 Illegal wait request; produces a deadlock.
5 Request denied; length exceeded the maximum mailbox
size allowed by the system.
6 Request denied; storage resources for the mail data
segment were not available.
Parameters
pin 16-bit signed integer by value (required)
The process to receive the mail. If you specify a
child process, pin is the process identification
number (PIN) of that process. If a parent process
is specified, pin is zero.
length 16-bit signed integer by value (required)
The length of the message, in half words,
transmitted from the stack of the sending process.
If 0 is specified, the mailbox is emptied of any
incoming or outgoing mail.
location user-defined structure (required)
The buffer containing the message.
waitflag 16-bit unsigned integer by value (required)
Action to be taken if the mailbox contains
previously sent mail, as specified in bit (15:1):
Bits Value/Meaning
0 Cancel (overwrite) any mail sent previously with the
current mail.
1 Wait until the receiving process collects the previous
mail before sending current mail.
Operation Notes
If the receiving process mailbox contains an uncollected message from the
calling process, the action taken depends on the waitflag parameter
specified in the SENDMAIL call. If the mailbox currently is being used
by another process, SENDMAIL waits until the mailbox is free and then
sends the mail.
Condition Codes
CCE (2) Request granted. The mail was sent (value 0 or 1
is returned to mailstatus), or the mail was not
sent because the mailbox contained incoming mail to
be collected by the sending process (value 2 is
returned to mailstatus).
CCG (0) Request denied. An illegal length parameter (value
5 is returned to mailstatus), an illegal pin
parameter was specified (value 3 is returned to
mailstatus), or storage for the mail data segment
was not available (value 6 is returned to
mailstatus).
CCL (1) Request denied. The length or location parameter
does not allow write access on the stack address
(value 3 is returned to mailstatus), or both
processes are waiting to send mail (value 4 is
returned to mailstatus).
Related Information
Intrinsics None
Commands None
Manuals Interprocess Communication Programmer's Guide
(32650-90019)
MPE/iX 5.0 Documentation