Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pvm_getminfo(3pvm) [redhat man page]

SETMINFO(3PVM)                                                    PVM Version 3.4                                                   SETMINFO(3PVM)

NAME
pvm_getminfo, pvm_setminfo - Get or set header information of a message. SYNOPSIS
C int info = pvm_getminfo( int bufid, struct pvmminfo *mi ) int info = pvm_setminfo( int bufid, struct pvmminfo *mi ) Fortran call pvmfgetminfo( bufid, len, ctx, tag, wid, enc, crc, src, dst, info ) call pvmfsetminfo( bufid, ctx, tag, wid, src, dst, info ) PARAMETERS
bufid Message buffer identifier. mi Struct containing header information. info Result code. For a description of the Fortran parameters, see below. DESCRIPTION
These functions read and set information passed in message headers, which may be of interest to certain applications. Typically, they will be used when it is necessary to get the message context or wait id to use the same values in a reply message. The fields affected are: len The length in bytes of the body of the message. This will be equal to the actual size of the data packed, if PvmDataRaw is used, otherwise it may include pad bytes. ctx The context sent with the message. tag The tag sent with the message. wid Wait Identifier, used to match a reply message to the corresponding request. enc Message Encoding, either the data signature of the sender, or 0x10000000 for XDR. crc The CRC checksum of the message body. src The tid of the sender. dst The tid of the destination. All fields may be read, but only ctx, tag, wid, src and dst may be set. pvm_getmwid and pvm_setmwid return PvmOk if successful, or else a negative error code. EXAMPLES
/* return a message to a caller with the same tag and wait id */ struct pvmminfo mi1, mi2; pvm_recv(-1, -1); /* ... process, compose reply message */ pvm_getminfo(pvm_getrbuf(), &mi1); pvm_getminfo(pvm_getsbuf(), &mi2); mi2.wid = mi1.wid; pvm_send(mi1.src, mi1.tag); ERRORS
The following error conditions can be returned by pvm_getmwid or pvm_setmwid: PvmBadParam Invalid value for bufid or mi argument. PvmNoSuchBuf Message buffer bufid doesn't exist. SEE ALSO
pvm_bufinfo(3PVM) 13 March, 1996 SETMINFO(3PVM)

Check Out this Related Man Page

PROBE(3PVM)							  PVM Version 3.4						       PROBE(3PVM)

NAME
pvm_probe - Check if message has arrived. SYNOPSIS
C int bufid = pvm_probe( int tid, int msgtag ) Fortran call pvmfprobe( tid, msgtag, bufid ) PARAMETERS
tid Integer task identifier of sending process supplied by the user. msgtag Integer message tag supplied by the user. msgtag should be >= 0. bufid Integer returning the value of the new active receive buffer identifier. Values less than zero indicate an error. DESCRIPTION
The routine pvm_probe checks to see if a message with label msgtag has arrived from tid. If a matching message has arrived pvm_probe returns a buffer identifier in bufid. This bufid can be used with pvm_bufinfo to determine information about the message such as its source and length. If the requested message has not arrived, then pvm_probe returns with a 0 in bufid. If some error occurs bufid will be < 0. A -1 in msgtag or tid matches anything. This allows the user the following options. If tid = -1 and msgtag is defined by the user, then pvm_probe will accept a message from any process which has a matching msgtag. If msgtag = -1 and tid is defined by the user, then pvm_probe will accept any message that is sent from process tid. If tid = -1 and msgtag = -1, then pvm_probe will accept any message from any process. pvm_probe can be called multiple times to check if a given message has arrived yet. After the message has arrived, pvm_recv must be called before the message can be unpacked into the user's memory using the unpack routines. EXAMPLES
C: tid = pvm_parent(); msgtag = 4 ; arrived = pvm_probe( tid, msgtag ); if ( arrived ) info = pvm_bufinfo( arrived, &len, &tag, &tid ); else /* go do other computing */ Fortran: CALL PVMFPROBE( -1, 4, ARRIVED ) IF ( ARRIVED .GT. 0 ) THEN CALL PVMFBUFINFO( ARRIVED, LEN, TAG, TID, INFO ) ELSE * GO DO USEFUL WORK ENDIF ERRORS
These error conditions can be returned by pvm_probe. PvmBadParam giving an invalid tid value or msgtag. PvmSysErr pvmd not responding. SEE ALSO
pvm_bufinfo(3PVM), pvm_getminfo(3PVM), pvm_nrecv(3PVM), pvm_recv(3PVM), pvm_unpack(3PVM) 30 August, 1993 PROBE(3PVM)
Man Page