GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  PVM_INITSEND (3)

NAME

pvm_initsend - Clear default send buffer and specify message encoding.

CONTENTS

Synopsis
Parameters
Description
Restrictions
Examples
Errors
See Also

SYNOPSIS


C       int bufid = pvm_initsend( int encoding )

Fortran call pvmfinitsend( encoding, bufid )

PARAMETERS

encoding Integer specifying the next message’s encoding scheme.
Options in C are:
     Encoding value           MEANING
     PvmDataDefault      0    XDR
     PvmDataRaw          1    no encoding
     PvmDataInPlace      2    data left in place

Option names are in Fortran are:      Encoding value           MEANING      PVMDEFAULT          0    XDR      PVMRAW              1    no encoding      PVMINPLACE          2    data left in place

bufid Integer returned containing the message buffer identifier. Values less than zero indicate an error.

DESCRIPTION

The routine pvm_initsend clears the send buffer and prepares it for packing a new message. The encoding scheme used for the packing is set by encoding. XDR encoding is used by default because PVM can not know if the user is going to add a heterogeneous machine before this message is sent. If the user knows that the next message will only be sent to a machine that understands the native format, then he can use PvmDataRaw encoding and save on encoding costs.

PvmDataInPlace encoding specifies that data be left in place during packing. The message buffer only contains the sizes and pointers to the items to be sent. When pvm_send is called the items are copied directly out of the user’s memory. This option decreases the number of times a message is copied at the expense of requiring the user to not modify the items between the time they are packed and the time they are sent.

If pvm_initsend is successful, then bufid will contain the message buffer identifier. If some error occurs then bufid will be < 0.

RESTRICTIONS

PvmDataInPlace allows only dense (stride = 1) data in version 3.3. It cannot be used on shared memory (*MP) architectures; a PvmNotImpl error will occur at send time.

EXAMPLES

C:
     bufid = pvm_initsend( PvmDataDefault );
     info = pvm_pkint( array, 10, 1 );
     msgtag = 3 ;
     info = pvm_send( tid, msgtag );

Fortran:      CALL PVMFINITSEND(PVMRAW, BUFID)      CALL PVMFPACK( REAL4, DATA, 100, 1, INFO )      CALL PVMFSEND( TID, 3, INFO )

ERRORS

These error conditions can be returned by pvm_initsend
PvmBadParam giving an invalid encoding value
PvmNoMem Malloc has failed. There is not enough memory to create the buffer

SEE ALSO

pvm_mkbuf(3PVM)
Search for    or go to Top of page |  Section 3 |  Main Index


INITSEND (3PVM) 30 August, 1993

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.