Retrieves the current data values present on specified switch block inputs.
DWORD swiSampleInput ( SWIHD swihd, SWI_TERMINUS input[], BYTE data[], unsigned count)
Argument |
Description |
swihd |
|
input |
Array of terminus structures for the input of the switch block: typedef struct Refer to swiMakeConnection for a description of these fields. |
data |
Array that receives values present on the specified switch block inputs. |
count |
Number of elements in the input and data arrays. |
Return value |
Description |
SUCCESS |
|
CTAERR_DRIVER_ERROR |
Underlying driver retrieved an unrecognized error. Call swiGetLastError to retrieve the MVIP device error code. |
CTAERR_INVALID_HANDLE |
swihd is not a valid switch handle. |
CTAERR_SVR_COMM |
Communication error in the server environment. |
SWIERR_INVALID_STREAM |
One or more of the specified streams is invalid. |
SWIERR_INVALID_TIMESLOT |
One or more of the specified timeslots is invalid. |
swiSampleInput reads the data available on one or more inputs of a switch block. Calling this function does not affect the switch block inputs or connections.
Note: Under Solaris, the upper limit for the number of terminuses that can be batched in one call is 32.
Refer to Sampling data for more information.
If CTAERR_DRIVER_ERROR is returned, call swiGetLastError to retrieve the MVIP device error code.
swiGetOutputState, swiMakeFramedConnection, swiOpenSwitch, swiSendPattern
void myPrintInput(SWIHD hd, SWI_TERMINUS input)
{
BYTE data;
swiSampleInput(hd, &input, &data, 1);
switch (input.bus)
{
case MVIP95_MVIP_BUS:
printf(" %s", " mvip");
break;
case MVIP95_LOCAL_BUS:
printf(" %s", "local");
break;
}
printf(":%2d:%02d=%02X\n", input.stream, input.timeslot, data);
}