This documentation supports the 9.1 to 9.1 Service Pack 3 version and its patches of BMC Atrium Core. The documentation for version 9.1.04 and its patches is available here.

To view the latest version, select the version from the Product version menu.

BMC Atrium CMDB C API requirements and package contents

The BMC Atrium CMDB C application programming interface (API) package includes header files, library files, and source code for the cmdbdriver sample program. When installing the BMC Atrium Core solution, you also install the C API.

BMC Atrium CMDB C API requirements

To build and run a C API program on Linux, you must install the GNU Standard C++ Library version 3 Release 5 or libstdc++5 package.

Compiler preparation for the BMC Atrium CMDB C API

Before you write C API programs, make sure that the following software programs are installed or configured on your system:

  • For Microsoft Windows 32-bit you need Microsoft Visual C++ version 7.0 or later. For Microsoft Windows 64-bit, you need Microsoft Visual C++ 9.0. to compile your C API programs.
  • Structure member alignment: 8 bytes (default)
  • Set code generation to Multithreaded DLL, not DebugMultithreaded DLL. Where other included libraries cause conflicts, add /nodefaultlib:"MSVCRTD" to the project options to avoid using the Debug C runtime library. If your program references this library at runtime, memory management errors will occur when memory pointers are referenced by both the Debug and Release C runtime libraries.
  • ANSI standard C or C++ compiler (for UNIX)

Note

If you develop C++ clients that run on HP computers using the BMC Atrium Configuration Management Database (BMC Atrium CMDB) C API, compile your code with the _HPACC_THREAD_SAFE_RB_TREE flag enabled. This operation is necessary because the libraries that the tree header file uses, which includes tree.cc, are not thread safe.

C API header files

The following table lists the C application programming interface (API) header files installed in the include directory of your BMC Atrium Core installation.


C API header files

File name

Contents

ar.h

BMC Remedy AR System API data type and structure definitions, size limits, and constant definitions.

cmdb.h

BMC Atrium Core C API data type and structure definitions, size limits, and constant definitions.

arerrno.h

Error code definitions.

arextern.h

External declarations for the API functions, specified with and without prototypes for use with standard C, ANSI C, or C++ compilers.

arfree.h

External declarations for the FreeAR functions. These functions recursively free all allocated memory associated with a particular data structure.

cmdbfree.h

External declarations for the FreeCMDB functions. These functions recursively free all allocated memory associated with a particular data structure.

arstruct.h

Core and reserved subclasses ID definitions, database separator characters, and labels for exporting structure definitions.

C API library files

To display error messages correctly, you must have arcatalog_eng.dll in your path at runtime, and make sure the lib directory contains the BMC Atrium Configuration Management Database (BMC Atrium CMDB) C application programming interface (API) library files listed in the following table. To load dynamic libraries on Solaris and Linux, include the -ldl link flag in the link command. For more information about linking and compiling your code, see the driver sample makefile in the sdk\samples\driver subdirectory of the BMC Atrium Core installation.

Note

The SDK folder in your installation directory contains several files. Not all files are required for C API programs. To successfully compile your C API program, you need only the library files listed in the following table.


C API library files

Platform

32-bit files

64-bit files

Microsoft Windows

  • arapi90_build002.dll
  • arcatalog_eng.dll
  • arrpc90_build002.dll
  • arutl90_build002.dll
  • cmdbapi90.dll
  • icudt32.dll
  • icuinbmc32.dll
  • icuucbmc32.dll
  • mfc71.dll
  • msvcp71.dll
  • msvcr71.dll
  • arapi90_build002_win64.dll
  • arcatalog_eng.dll
  • arrpc90_build002_win64.dll
  • arutl90_build002_win64.dll
  • arxmlutil90_build002_win64.dll
  • cmdbapi90_win64.dll
  • icudt32.dll
  • icuinbmc32_win64.dll
  • icuucbmc32_win64.dll

Oracle Solaris

  • libcmdbapi90.so
  • libjlicapi90_build002.so
  • libicudatabmc.so.32
  • libicui18nbmc.so.32
  • libicuucbmc.so.32
  • libcmdbapi90_solsp64.so
  • libjlicapi90_build002.so
  • libicudatabmc_solsp64.so.32
  • libicui18nbmc_solsp64.so.32
  • libicuucbmc_solsp64.so.32

IBM AIX

  • libcmdbapi90.a
  • libicudatabmc32.a
  • libicui18nbmc32.a
  • libicuucbmc32.a
  • libjlicapi90_build002.a
  • libcmdbapi90_build002_aixp64.a
  • libicudatabmc_aixp6432.a
  • libicui18nbmc_aixp6432.a
  • libicuucbmc_aixp6432.a
  • libjlicapi90_build002.a

HP-UX

  • libicudatabmc.sl.32
  • libicui18nbmc.sl.32
  • libicuucbmc.sl.32
  • libcmdbapi90.sl
  • libjlicapi90_build002.sl
  • libicudatabmc_hppa64.sl.32
  • libicui18nbmc_hppa64.sl.32
  • libicuucbmc_hppa64.sl.32
  • libcmdbapi90_hppa64.sl
  • libjlicapi90_build002.sl

Linux

  • libicudatabmc.so.32
  • libicui18nbmc.so.32
  • libicuucbmc.so.32
  • libarjni90_build002.so
  • libarutiljni90_build002.so
  • libcmdbapi90.so
  • libcmdbjni90.so
  • libjlicapi90_build002.so
  • libicudatabmc_lx64.so.32
  • libicui18nbmc_lx64.so.32
  • libicuucbmc_lx64.so.32
  • libcmdbapi90_lx64.so
  • libjlicapi90_build002.so

HP-Itanium

32-bit (for client-side programs)

  • libicudatabmc_hpia32.sl.32
  • libicui18nbmc_hpia32.sl.32
  • libicuucbmc_hpia32.sl.32
  • libcmdbapi90_hpia32.sl
  • libjlicapi90_build002_hpia32.sl

64-bit (for server-side programs)

  • libicudatabmc_hpia64.sl.32
  • libicui18nbmc_hpia64.sl.32
  • libicuucbmc_hpia64.sl.32
  • libcmdbapi90_hpia64.sl
  • libjlicapi90_build002_hpia32.sl
Was this page helpful? Yes No Submitting... Thank you

Comments