The module IF-IMC API contains Java classes and interfaces, which have been defined by the TNC-WG for the binding version 1.3 of the vertical IF-IMC interface. The names of the various classes and interfaces are shown in Fig. 2. The interfaces TNCC and TNCCLong provide methods, which can be used by an IMC to retrieve common parameters from a TNCC. On the other hand, the interfaces IMC, IMCLong and IMCSOH are used by a TNCC to interact with an IMC. IMCConnection, IMCConnectionLong and IMCConnectionSOH represent the connection, the integrity assessment is executed for. These three interfaces provide methods for an IMC, to send messages and to initiate an integrity assessment. The interfaces IMC, TNCC and IMCConnection specify the basic functionality for an implementation of the IF-IMC interface. The interfaces marked by the keywords "Long" or "SOH" in their names contain additional methods. Interfaces containing the keyword "Long" in their names provide methods to support a more complex message addressing scheme for the transmission of messages between an IMC and a TNCC. The interfaces containing the keyword "SOH" in their names are especially used for the transmission of messages between a TNCC and an IMC in case the binding IF-TNCCS-SOH is utilized for the communication between a TNCC and a TNCS. The last type of interfaces is currently not used by jTNC, because the binding IF-TNCCS-SOH is not supported yet.
Beside the above mentioned interfaces, the TNC-WG has defined further interfaces such as the interface called AttributeSupport. It contains methods that can be used to query protocol properties such as the maximum transmission cycles (s. [3, pp. 31-31] and [4, pp. 35-36]) supported by the IF-T interface. Additionally, the interface TNCConstants contains several constant default values, which have been defined by the TNC-WG for the IF-IMC interface. For example, the interface contains numeric identifiers that describe the state of a connection, while an integrity assessment is running. The class TNCException is used to encapsulate and relay exceptions that may occur while calling a method of the Java interfaces described above [3, pp. 80-101].