# Library Information

This page provides details about the libraries of the NetApp Manageability SDK for application integration in C and C++, Perl, Java, C#, VB.NET, PowerShell, Python, and Ruby.

## Libraries for C and C++

The NetApp Manageability SDK provides both static libraries and dynamic libraries for application integration.

The following libraries should be linked to the applications that use the static libraries of the SDK:

Platform | Interfaces
Windows | libnetapp.lib libadt.lib libxml.lib ws2_32.lib Different versions of these libraries for debug applications, multithreaded applications, multithreaded debug applications, and 64-bit platforms are also available in the SDK. For debug versions of your code, use the versions with "d" appended to the file name—for example, libadtd.lib. For multithreaded applications, use the versions with "md" appended to the file name—for example, libadtd_md.lib. For multithreaded applications in debug mode, use the versions with "mdd" appended to the file name—for example, libadtd_mdd.lib. The libraries for the 64-bit platform are at lib\nt\x64 and lib\nt\ia64.
Linux, Solaris, HP-UX, AIX`, or VMware ESX` | libnetapp.a libadt.a libxml.a The library details for different operating systems are as follows: Linux 32-bit libraries are at lib\linux. Linux 64-bit libraries are at lib\linux-64. Solaris 32-bit SPARC libraries are at lib\solaris. Solaris 64-bit SPARC libraries are at lib\solaris-64. Solaris i386 libraries are at lib\solaris-i386. Solaris x64-bit libraries are at lib\solaris-x86_64. AIX 32-bit libraries are at lib\aix. AIX 64-bit libraries are at lib\aix-64. VMware ESX libraries are at lib\linux.

The following libraries should be linked to the applications that use the dynamic libraries of the SDK:

Platform | Interfaces
Windows | zephyr.dll, zephyr.lib, ws2_32.lib (release mode) zephyrd.dll, zephyrd.lib, ws2_32.lib (debug mode) The libraries for the 64-bit platform are at lib\nt\x64 and lib\nt\ia64.
Solaris | libnetapp.so libadt.so libxml.so The paths for different libraries are as follows: Solaris 32-bit SPARC libraries are at lib\solaris. Solaris 64-bit SPARC libraries are at lib\solaris-64. Solaris i386 libraries are at lib\solaris-i386. Solaris x64-bit libraries are at lib\solaris-x86_64.
Linux | libnetapp.so libadt.so libxml.so libnetappmgmt.so
| You can either use libnetappmgmt.so or use libnetapp.so, libadt.so, and libxml.so together.
The paths for different libraries are as follows: Linux 32-bit libraries are at lib\linux. Linux 64-bit libraries are at lib\linux-64.
HP-UX | libnetapp.sl libadt.sl libxml.sl
AIX | libnetapp.so libadt.so libxml.so libnetappmgmt.so
| You can either use libnetappmgmt.so or use libnetapp.so, libadt.so, and libxml.so together.
The paths for different for 32-bit and 64-bit libraries are as follows: AIX 32-bit libraries are at lib\aix. AIX 64-bit libraries are at lib\aix-64.
VMware ESX | libnetapp.so libadt.so libxml.so These libraries are at lib\linux.

The following environment variables are required to include the SDK libraries:

Interfaces | Description
libcrypto libssl | These libraries are required when using HTTPS transport in your application on a UNIX-like platform. On Solaris, Linux, and HP-UX, you need to create a softlink to libraries libcrypto and libssl as follows: For Solaris and Linux: ln -s libcrypto.so libcrypto.so.0.9.8 ln -s libssl.so libssl.so.0.9.8 For HP-UX: ln -s libcrypto.sl libcrypto.sl.0.9.8 ln -s libssl.sl libssl.sl.0.9.8
| On the Linux platform, if you use libnetappmgmt.so, you do not have to use libcrypto and libssl.
libeay32.dll ssleay32.dll | These libraries are required when using HTTPS transport in your application on the Windows platform.
ntapadmin.dll | This library is required for using remote procedure call transport in your application on the Windows platform.

## Modules for Perl

The following modules should be linked to applications that use the NetApp Manageability SDK interfaces:

Interfaces | Description
NaServer.pm NaElement.pm NaErrno.pm DfmErrno.pm | These modules are used for Perl application integration. These are at lib\perl\NetApp.
LWP::UserAgent.pm | This module is used to send requests to and receive responses from the World Wide Web server.
XML::Parser.pm | This module parses XML documents.
Net::SSLeay | This module is required when using HTTPS transport.
| This module is dependent on the following: Net::SSLeay module You can download Net::SSLeay from http://www.cpan.org/modules/by-module/Net/. ssleay32.dll and libeay32.dll on the Windows platform You can download these modules from http://www.openssl.org/.
| To verify DataFabric Manager server certificate using certificate-based authentication, you must have a Net::SSLeay 1.36 or later, which should be built with OpenSSL library 0.9.8 or later.
Socket.pm | This module is a translation of the C socket.h file.

| You can download the LWP::UserAgent.pm, XML::Parser.pm, and Net::SSLeay modules from http://www.cpan.org/modules/by-module/Net/.

## JAR file for Java

The following Java interface should be linked to applications that use the NetApp Manageability SDK interfaces:

Interface | Description
manageontap.jar | This JAR file is used for Java application integration. It contains all the Java library classes of the NetApp Manageability SDK. The JAR file is present at lib\java\classes. For RPC support, you need ntapadmin.dll, which is present at lib\nt.

## Libraries for C#, VB.NET, and PowerShell

The following is the interface for C#, VB.NET, and PowerShell that should be linked to applications that use the NetApp Manageability SDK interfaces:

Interface | Description
ManageOntap.dll | This library is used for Microsoft .NET application integration. It contains all the library classes of the NetApp Manageability SDK. It DLL is present at lib\DotNet. For RPC support, you need ntapadmin.dll, which is present at lib\nt.
| To verify DataFabric Manager server certificate using certificate-based authentication, you might have to use Windows hotfix, which is available at: http://support.microsoft.com/kb/968730.

## Libraries for Python

The following Python libraries should be linked to applications that use the NetApp Manageability SDK interfaces:

Interface | Description
NaServer.py NaElement.py | These modules are used for Python application integration. They are at lib\python\NetApp\.
DfmErrno.py NaErrno.py | These modules are used to obtain information about the error messages. They are at lib\python\NetApp\.

## Libraries for Ruby

The following Ruby libraries should be linked to applications that use the NetApp Manageability SDK interfaces:

Interface | Description
NaServer.rb NaElement.rb | These modules are used for Ruby application integration. They are at lib\ruby\NetApp\.
DfmErrno.rb NaErrno.rb | These modules are used to obtain information about the error messages. They are at lib\ruby\NetApp\.

## WSDL file for Web services

The WSDL file for Web services is present at /src/wsdl/.