Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pvm_bufinfo(3pvm) [debian man page]

BUFINFO(3PVM)							  PVM Version 3.4						     BUFINFO(3PVM)

NAME
pvm_bufinfo() - Returns information about a message buffer. SYNOPSIS
C int info = pvm_bufinfo( int bufid, int *bytes, int *msgtag, int *tid ) Fortran call pvmfbufinfo( bufid, bytes, msgtag, tid, info ) PARAMETERS
bufid Integer specifying a particular message buffer identifier. bytes Integer returning 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. msgtag Integer returning the message label. Useful when the message was received with a wildcard msgtag. tid Integer returning the source of the message. Useful when the message was received with a wildcard tid. info Integer status code returned by the routine. Values less than zero indicate an error. DESCRIPTION
The routine pvm_bufinfo returns information about the requested message buffer. Typically it is used to determine facts about the last received message such as its size or source. pvm_bufinfo is especially useful when an application is able to receive any incoming message, and the action taken depends on the source tid and the msgtag associated with the message that comes in first. If pvm_bufinfo is success- ful, info will be 0. If some error occurs then info will be < 0. EXAMPLES
C: bufid = pvm_recv( -1, -1 ); info = pvm_bufinfo( bufid, &bytes, &type, &source ); Fortran: CALL PVMFRECV( -1, -1, BUFID ) CALL PVMFBUFINFO( BUFID, BYTES, TYPE, SOURCE, INFO ) ERRORS
This error condition can be returned by pvm_bufinfo. PvmNoSuchBuf specified buffer does not exist. PvmBadParam invalid argument SEE ALSO
pvm_recv(3PVM) 30 August, 1993 BUFINFO(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