M-VIA implements the VI Provider Library API as defined in the Intel Virtual Interface Architecture Developer's Guide; however, programming notes specific to the M-VIA implementation are listed below.
#include <vipl.h>
compile your application with the following flag
-D_REENTRANT
and link your application against the M-VIA VI Provider Library by adding:
-lvipl -lpthread
to your compiler's command line.
vipl.h
and libvipl.a
should be located in /usr/local/include
and /usr/local/lib
respectively, unless your system administrator
chose to install them into a different location during installation.
The DeviceName
argument to VipOpenNic()
should be an entry from
/dev,
i.e. /dev/via_lo
to use the M-VIA Loopback Device,
/dev/via_eth0
to use the first Ethernet interface, /dev/via_eth1
to use the second Ethernet interface, etc.
The NSInitInfo
argument to VipNSInit()
can be used to supply
a NULL
terminated string containing the name of an alternate vip_hosts
file, while a value of (VIP_PVOID)0
indicates that the default
vip_hosts file should be used.
The QoS
field of the ViAttribs
argument must be set to 0.
Neither the VI Architecture Specification,
nor the Intel VI Architecture Developer's Guide define
valid values for the quality-of-service Vi attribute. However,
the Intel VI Architecture Conformance Suite expects the the VI Provider
to test for both valid and invalid QoS values. M-VIA
defines 0 to be a valid quality-of-service attribute, and all other
values to be invalid.