# Configuring boards and drivers

Use the following Switching service functions to configure and query boards and drivers:

To... | Use...
--- | ---
Configure stream-specific characteristics of a local device | swiConfigLocalStream
Configure stream-specific and timeslot -specific characteristics of a local device | swiConfigLocalTimeslot
Obtain vendor-specific information about the board | swiGetBoardInfo
Retrieve general and vendor-specific information about the device driver | swiGetDriverInfo
Retrieve stream-specific characteristics of a local device | swiGetLocalStreamInfo
Retrieve stream-specific and timeslot-specific characteristics of a local device | swiGetLocalTimeslotInfo

Note: swiGetLocalStreamInfo, swiGetLocalTimeslotInfo, swiConfigLocalStream, and swiConfigLocalTimeslot take board-specific arguments. Refer to the board-specific documentation for the arguments to pass to these functions.

The following code shows how to use swiConfigLocalTimeslot to access the carrier function:

#include "swidef.h" /* Natural Access Switching service */
#include "mvip95.h" /* MVIP-95 definitions */
#include "nmshw.h" /* NMS hardware-specific definitions */
*/
DWORD mySetReceiveGain ( SWIHD swihd, SWI_TERMINUS terminus, INT32 gain_dB )
{
SWI_LOCALTIMESLOT_ARGS args;
NMS_LINE_GAIN_PARMS device ;
args.localstream = terminus.stream ;
args.localtimeslot = terminus.timeslot ;
args.deviceid = MVIP95_ANALOG_LINE_DEVICE ;
args.parameterid = MVIP95_INPUT_GAIN ;
device.gain = gain_dB * 1000 ;
return swiConfigLocalTimeslot (
/* Natural Access switch handle */ swihd,
/* target device and config item */ & args,
/* buffer (defined by parameterid) */ (void*) & device,
/* buffer size in bytes */ sizeof(device));
}