ppxCreateConnection

Creates a connection.

Prototype

DWORD ppxCreateConnection ( CTAHD ctahd, char *name, PPX_HANDLE_PARMS *parms, PPXHD *ppxhd )

Argument

Description

ctahd

Context handle returned by ctaCreateContext or ctaAttachContext.

name

Pointer to a connection name, or NULL value.

parms

Pointer to a PPX_HANDLE_PARMS structure. The structure is defined as follows:

typedef struct
{
  DWORD size;
  BYTE default_pattern;
  DWORD *reservation_key;
} PPX_HANDLE_PARMS

Set reservation_key field to NULL. This field is not used.

ppxhd

Pointer to connection handle.


Return values

Return value

Description

SUCCESS

 

CTAERR_OUT_OF_MEMORY

Unable to allocate memory.

CTAERR_SVR_COMM

Natural Access server communication error.

PPXERR_COMM_FAILURE

Problems were encountered when communicating with the PPX server.

PPXERR_CONNECTION_ALREADY_EXISTS

A connection already exists in the PPX connection database with the specified name.


Details

ppxCreateConnection creates a connection and returns a handle to it. Initially, the connection has no talkers or listeners attached to it.

A default pattern is specified when the connection is created. All listeners added to the connection receive the default pattern if there is no talker attached. If a default pattern is not specified in the call to ppxCreateConnection, the default pattern is set to 0x7f (mu-law), unless otherwise specified by the IdleCode switching fabric attribute within the PPX configuration file.

A name can also be specified when creating the connection. A name is required to access the connection across applications using ppxOpenConnection. Named connections persist when the client exits.

Refer to Creating a connection for more information.

See also

ppxCloseConnection

Example

void WhileTheyWait( MYCONTEXT *cx ) 
{
    DWORD e;
    char  ppxname [20];

    DemoStartProtocol( cx->hd, cx->protocol, NULL, NULL );  
    
    /* Allocate a connection */
    sprintf( ppxname, "ppxdemo%01d", cx->id );
    e = ppxCreateConnection( cx->hd, ppxname, &ppx_parms, 
                                   &(ppxhd[cx->id]) );
    if (e != SUCCESS)
    {
        printf("Unable to create a connection ; returns: %d\n",e);
        exit(-1);
    }
}