# adiQuerySignalState

Queries the current state of the out-of-band signaling
bits. Use only with NOCC
protocol.

#### Supported board types

- AG

- CG

#### Prototype

DWORD adiQuerySignalState ( CTAHD ctahd)

Argument | Description
ctahd | Context handle returned by ctaCreateContext or ctaAttachContext.

#### Return values

Return value | Description
SUCCESS |
CTAERR_FUNCTION_NOT_ACTIVE | adiStartSignalDetector was not called.
CTAERR_INVALID_STATE | Function not valid in the current port state.
CTAERR_RESOURCE_CONFLICT | A protocol other than NOCC is active.
CTAERR_SVR_COMM | Server communication error.

#### Events

Event | Description
ADIEVN_QUERY_SIGNAL_DONE | After the ADI service queries the board for the current signaling pattern, the ADI service generates an event with the size field containing the current signaling pattern. It is a mask of the following constants found in adidef.h: ADI_A_BIT, ADI_B_BIT, ADI_C_BIT, and ADI_D_BIT.

#### Details

The AG 2000, AG 2000C, and AG 2000-BRI boards require signal.m54 to be loaded.

Use adiQuerySignalState to query the out-of-band signaling detector for the current state of the signaling bits. These signaling bits can be the actual T1/E1 digital carrier signaling bits, or they can relate to specific detectors of analog interface boards (for example, a ring detector). In both cases, the ADI service recognizes four signaling bits: A, B, C, and D, often written as ABCD, and defined by the constants ADI_A_BIT, ADI_B_BIT, ADI_BIT, and ADI_D_BIT.

Note: This function can be called only if you started detection using adiStartSignalDetector.

#### Example

int myShowMVIP( CTAHD ctahd )
{
CTA_EVENT event;
if( adiQuerySignalState( ctahd ) != SUCCESS )
return MYFAILURE;
while( 1 )
{
myGetEvent( &event ); /* see ctaWaitEvent example */
switch( event.id )
{
case ADIEVN_QUERY_SIGNAL_DONE:
printf( "MVIP signalling bits = 0x%x (%c%c%c%c)\n",
(event.value&0xf),
(event.value&0x8)?'A':'-', (event.value&0x4)?'B':'-',
(event.value&0x2)?'C':'-', (event.value&0x1)?'D':'-' );
break;
/* ... */
}
}
}