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 successful, 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)