ppxConnect

Makes simplex, duplex, or quad switch connections.

Prototype

DWORD ppxConnect ( CTAHD ctahd, PPX_MVIP_ADDR *talker, PPX_MVIP_ADDR *listener, PPX_CX_MODE mode )

Argument

Description

ctahd

Context handle returned by ctaCreateContext or ctaAttachContext.

talker

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

typedef struct
{
  DWORD switch_number;
  DWORD bus;
  DWORD stream;
  DWORD timeslot;
} PPX_MVIP_ADDR

Refer to the Details section for a description of these fields.

listener

Pointer to a PPX_MVIP_ADDR structure.

mode

Connection mode: PPX_SIMPLEX, PPX_DUPLEX, or PPX_QUAD.


Return values

Return value

Description

SUCCESS

 

CTAERR_DRIVER_ERROR

Underlying driver retrieved an unrecognized error. Call swiGetLastError to retrieve the MVIP device error code.

CTAERR_NOT_FOUND

talker or listener is not defined in the PPX configuration file.

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_DISABLED

Switch number specified has been disabled.

PPXERR_DRIVER_OPEN_FAILED

Driver open failed, or the driver DLL or device was not found.

PPXERR_INVALID_SWITCH

Switch number specified is inaccessible from the specified bus:stream:timeslot.

PPXERR_LISTENER_BUSY

Specified listener is assigned to another connection.

PPXERR_NO_PATH

Could not find a path from talker to the listener.

PPXERR_NOT_LISTENER

listener is incapable of receiving output from the connection.

PPXERR_NOT_TALKER

Specified talker is incapable of driving the output for the connection.

SWIERR_INVALID_STREAM

One or more of the specified streams is invalid.

SWIERR_INVALID_TIMESLOT

One or more of the specified timeslots is invalid.


Details

ppxConnect is a convenience function that wraps the functionality of ppxCreateConnection, ppxSetTalker, and ppxAddListeners. ppxConnect makes one-talker to one-listener connections. These connections use internal connection handles that cannot be accessed by the application. Listeners cannot be added to connections made by ppxConnect.

The PPX_MVIP_ADDR structure contains the following fields:

Field

Description

switch_number

Switch number of the board as defined in ppx.cfg.

bus

Acceptable values are:

MVIP95_MVIP_BUS

MVIP95_LOCAL_BUS

stream

The stream number of the listener/talker.

timeslot

The timeslot of the listener/talker.


Refer to Making one-talker, one-listener connections for more information.

See also

ppxDisconnect

Example

DWORD MyConnect( CTAHD ctahd, PPX_CX_MODE mode )
{
    PPX_MVIP_ADDR listener, talker;
    DWORD ret ;
    
    talker.switch_number =0;
    talker.bus = MVIP95_LOCAL_BUS;
    talker.stream = 0;
    talker.timeslot = 4;
 
    listener.switch_number = 1 ;
    listener.bus = MVIP95_LOCAL_BUS;
    listener.stream = 5;
    listener.timeslot = 4;
    
     /*
      * The passed-in "mode" has one of the following
      * values:
      *
      *    PPX_SIMPLEX, PPX_DUPLEX, or PPX_QUAD
      */
               
    ret = ppxConnect( ctahd, &talker, &listener, mode );
    
    return ( ret ) ;
    
}