---
name: "pvm_bufinfo"
section: "3"
platform: "linux"
package: "pvm-dev"
version: "3.4.2-8"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/pvm_bufinfo"
---

# pvm\_bufinfo(3)

Returns information about a message buffer.

## 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)
