Следующие подпрограммы на C распаковывают (многократно) данные определенных типов из активного буфера приема. На уровне приложения они должны соответствовать подпрограммам упаковки - по типу, числу элементов и шагу; nitem - число элементов данного типа для распаковки, а stride - шаг.
int stride)
int info = pvm_upkcplx( float *xp, int nitem,
int stride)
int info = pvm_upkdcplx( double *zp, int nitem,
int stride)
int info = pvm_upkdouble( double *dp, int nitem,
int stride)
int info = pvm_upkfloat( float *fp, int nitem,
int stride)
int info = pvm_upkint( int *np, int nitem,
int stride)
int info = pvm_upklong( long *np, int nitem,
int stride)
int info = pvm_upkshort(short *np, int nitem,
int stride)
int info = pvm_upkstr( char *cp)
int info = pvm_unpackf( const char *fmt, ...)
Единственная Фортран-подпрограмма выполняет все перечисленные функции приведенных C-подпрограмм.
Аргумент xp - это массив, куда помещается то, что распаковывается. Целочисленный аргумент what указывает тип данных для распаковки. (Та же опция what, что и для pvmfpack()).