ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/pase_qmhrcvpm.htm

199 lines
6.3 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>QMHRCVPM()--i5/OS PASE Receive Program Message</title><!-- Begin Header Records -->
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- Created by V2DCIJB on 23 Nov 1999 -->
<!--File Edited April 2001 -->
<!-- End header records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<!-- Java sync-link -->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<a name="Top_Of_Page"></a>
<h2>QMHRCVPM()--Receive Program Message for i5/OS PASE</h2>
<div class="box" style="width: 60%;">
<br>
&nbsp;&nbsp;Syntax
<pre>
#include &lt;os400msg.h&gt;
int QMHRCVPM(void *msginfo,
int msginfoLen,
const char *format,
const char *pgmq,
int pgmqDelta,
const char *msgtype,
int *msgkey,
int wait,
const char *action,
void *errcode);
int QMHRCVPM1(void *msginfo,
int msginfoLen,
const char *format,
const char *pgmq,
int pgmqDelta,
const char *msgtype,
int *msgkey,
int wait,
const char *action,
void *errcode,
int pgmqLen,
const char *pgmqQual);
int QMHRCVPM2(void *msginfo,
int msginfoLen,
const char *format,
const void *pgmq,
int pgmqDelta,
const char *msgtype,
int *msgkey,
int wait,
const char *action,
void *errcode,
int pgmqLen,
const char *pgmqQual,
const char *pgmqType,
int ccsid);
</pre>
&nbsp;&nbsp;Public Default Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Library: Standard C Library (libc.a)<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
<br>
</div>
<p><strong>Note:</strong> These functions can only be used in an i5/OS PASE
program. See <a href="../rzalf/rzalfintro.htm">i5/OS PASE</a> for more
information about creating i5/OS PASE programs.</p>
<p>The Receive Program Message (QMHRCVPM, QMHRCVPM1, and QMHRCVPM2) i5/OS PASE
runtime functions allow an i5/OS PASE program to receive a message from a
program call message queue or from the job external message queue.</p>
<br>
<h3>Parameters</h3>
<p>These i5/OS PASE runtime functions accept the same arguments as the Receive
Program Message (QMHRCVPM) i5/OS API, except that the i5/OS PASE functions
use character string inputs that are null-terminated strings in the i5/OS PASE
CCSID. i5/OS PASE runtime automatically converts input character strings to
the job default CCSID and pads with blanks (as necessary) to match the
fixed-length inputs required by the system API.</p>
<p>No conversions are done by i5/OS PASE runtime for the msginfo and errcode
(input/output) arguments because they can contain a mixture of character and
binary data. The ccsid argument specifies the CCSID for character data returned
by the system API in the msginfo argument, and users can request CCSID
information for the errcode argument by using ERRC0200 format. The QMHRCVPM and
QMHRCVPM1 i5/OS PASE runtime functions use a default for the ccsid value
passed to the system API that does not do any CCSID conversion for character
data in the received message.</p>
<p>See <a href="QMHRCVPM.htm">QMHRCVPM()--Receive Program Message</a> for
further description of the arguments for the QMHRCVPM, QMHRCVPM1, and QMHRCVPM2
i5/OS PASE runtime functions.</p>
<br>
<h3>Authorities</h3>
<p>See <a href="QMHRCVPM.htm">QMHRCVPM()--Receive Program Message</a> for
information about authorities required for the QMHRCVPM, QMHRCVPM1, and
QMHRCVPM2 i5/OS PASE runtime functions.</p>
<br>
<h3>Return Value</h3>
<p>The function result is zero for normal completion. The result is nonzero if
any input character string could not be converted to the job default CCSID or
was too long for the QMHRCVPM API, or if the QMHRCVPM API returned error
information in the errcode argument.</p>
<br>
<h3>Usage Notes</h3>
<ol>
<li>The system only creates program call message queues ILE procedures and OMI
programs, so you cannot send to or receive from a program message queue for a
specific function in an i5/OS PASE program.</li>
<li>When "*" is specified for the pgmq argument, the system locates the program
call message queue for an (internal) ILE procedure in service program QP2USER
that is the apparent caller of any ILE procedure called by the i5/OS PASE
program using i5/OS PASE runtime function _ILECALLX or _ILECALL. This queue is
the target for messages a called ILE procedure sends to its caller, and is also
used for machine exceptions caused by operations inside the i5/OS PASE program
(such as message MCH0601 a for storage reference error).</li>
</ol>
<br>
<h3>Related Information</h3>
<ul>
<li><a href="QMHRCVPM.htm">QMHRCVPM()--Receive Program Message</a> (system
API)<br>
<br>
</li>
<li><a href="pase_qmhrcvpm.htm">QMHRCVPM()--Receive Program Message for i5/OS
PASE</a><br>
<br>
</li>
<li><a href="pase_qmhsndm.htm">QMHSNDM()--Send Nonprogram Message for i5/OS
PASE</a><br>
<br>
</li>
<li><a href="pase_qmhrcvm.htm">QMHRCVM()--Receive Nonprogram Message for i5/OS
PASE</a></li>
</ul>
<br>
<hr>
API introduced: V5R1
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"pase1.htm">i5/OS PASE APIs</a> | <a href="aplist.htm">APIs by category</a>
</td>
</tr>
</table>
</center>
</body>
</html>