cc/td/doc/product/cable/svc_ctrl/scmgtsu
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table Of Contents

Getting Started

Platforms and Compilers

Installation Package Contents

How to Install the SCMS SM C/C++ API

Installing the Distribution on the Unix and Linux Platforms

Installing the Distribution on Windows

How to Compile and Run the SCMS SM C/C++ API

Compiling and Running a Program on Windows

Compiling and Running a Program on Solaris

Compiling and Running a Program on Red Hat Linux


Getting Started


This module describes the platforms on which the SM C/C++ API can be used and how to install, compile, and start running the SM C/C++ API.

Platforms and Compilers 

Installation Package Contents 

How to Install the SCMS SM C/C++ API 

How to Compile and Run the SCMS SM C/C++ API 

Platforms and Compilers

The SCMS SM C/C++ API was developed and tested on Windows, Solaris, and Linux platforms. It was compiled on Windows using Microsoft Visual C++ 6 compiler, on Solaris using the GCC 2.95.3 compiler, and on Linux using GCC 3.2.3 compiler.

Installation Package Contents

For brevity, the installation directory sm-c-api-vvv.bb is referred to as <installdir>, where vvv and bb stand for the SCMS SM C/C++ API version and build number.

The <installdir>/winnt folder contains the smapi.dll file, which is the Windows API Executable. It also contains additional DLL and LIB files necessary for the Windows API operation.

The <installdir>/solaris folder contains the libsmapi.so file, which is the Solaris API Executable.

The <installdir>/linux folder contains the libsmapi.so file, which is the Linux API Executable.

The <installdir>/include folder contains the API C/C++ header files.

The <installdir>/include/system folder contains the C++ API internal header files.

Table 1-1 Layout of Installation Directory

Folder
Subfolder (as applicable)
File Name

<installdir>

 

README.csmapi

 

include

BasicTypes.h

   

Common.h

   

GeneralDefs.h

   

Logger.h

   

PrintLogger.h

   

SmApiBlocking.h

   

SmApiBlocking_c.h

   

SmApiNonBlocking.h

   

SmApiNonBlocking_c.h

 

include/system

OperationHandleInterface.h

   

OperationResultInterface.h

 

linux

libsmapi.so

 

solaris

libsmapi.so

 

winnt

asn1ber.dll

   

asn1ber.lib

   

asn1rt.dll

   

asn1rt.lib

   

SmApi.dll

   

SmApi.lib


How to Install the SCMS SM C/C++ API

The SCMS SM C/C++ API distribution is part of the SCMS SM-LEG distribution file and is located in the sm_api directory. The SCMS SM C/C++ API is packaged in a UNIX tar file. You can extract the SCMS SM C/C++ API using the UNIX tar utility or most Windows compression utilities.

Installing the Distribution on the Unix and Linux Platforms 

Installing the Distribution on Windows 

Installing the Distribution on the Unix and Linux Platforms

1. Extract the SCMS SM-LEG distribution file.

2. Locate the C/C++ SM API distribution file sm-c-api-dist.tar

3. Extract the C/C++ API package tar:

#>tar -xvf sm-c-api-dist.tar

Installing the Distribution on Windows

1. Extract the package using a zip extractor (such as WinZip).

2. Respond as appropriate to the prompts from the installation wizard.


How to Compile and Run the SCMS SM C/C++ API

The API connects to the PRPC server on the SM. For the API to work, the following conditions must be met:

The SM must be up and running, and reachable from the machine that hosts the API.

The PRPC server on the SM must be started.

The PRPC server is a proprietary RPC protocol designed by Cisco. For additional information, see the Cisco SCMS Subscriber Manager User Guide.

The following sections describe how to compile and run the API on the supported software platforms:

Compiling and Running a Program on Windows

Compiling and Running a Program on Solaris

Compiling and Running a Program on Red Hat Linux

Compiling and Running a Program on Windows

SUMMARY STEPS

1. Ensure that smapi.dll and the other DLL files are in your path or in the directory of your executable.

2. Ensure that the include folder is in your include path of the compilation.

3. Ensure that the smapi.lib file is in your linkage path.

4. Include the relevant API header file in your source code, and compile your code.

DETAILED STEPS


Step 1 Ensure that smapi.dll and the other DLL files are in your path or in the directory of your executable.

Step 2 Ensure that the include folder is in your include path of the compilation.

Example using Microsoft Visual C++ 6:

Enter the project settings, click the C++tab, and then choose the Preprocessor category. Add the include directory path in the Additional Include directories line.

Step 3 Ensure that the smapi.lib file is in your linkage path.

Example using Microsoft Visual C++ 6:

Enter the project settings and click the Link tab. Add smapi.lib to the Object\Library modules line.

Step 4 Include the relevant API header file in your source code, and compile your code.

Compiling and Running a Program on Solaris

SUMMARY STEPS

1. Ensure that libsmapi.so is in your LD_LIBRARY_PATH.

2. Ensure that the include folder is in your include path of the compilation.

3. Ensure that the libsmapi.so file is in your linkage line or load it dynamically.

DETAILED STEPS


Step 1 Ensure that libsmapi.so is in your LD_LIBRARY_PATH.

For example, when using the Bash shell type, use the following command line:

bash-2.03$ export set LD_LIBRARY_PATH=$LD
LIBRARY_PATH:the-libsmapi.so-folder

Step 2 Ensure that the include folder is in your include path of the compilation.

For example, when using the GCC , add the include folder after the -I option flag, as follows:

>gcc -c -o TestSmApi.o -Ism-api-header-file-folder
-Ism-api-header-file-folder/system/ TestSmApi.cpp

Step 3 Ensure that the libsmapi.so file is in your linkage line or load it dynamically.

Link your object file to the pthread and socket library, as follows:

>gcc -o testSmApi TestSmApi.o -lsmapi -lpthread -lsocket

Compiling and Running a Program on Red Hat Linux

SUMMARY STEPS

1. Ensure that libsmapi.so is in your LD_LIBRARY_PATH.

2. Ensure that the include folder is in your include path of the compilation.

3. Ensure that the libsmapi.so file is in your linkage line or load it dynamically.

DETAILED STEPS


Step 1 Ensure that libsmapi.so is in your LD_LIBRARY_PATH.

For example, when using the Bash shell type, use the following command line, entering your password if prompted:

bash-2.03$ export set LD_LIBRARY_PATH=$LD
LIBRARY_PATH:the-libsmapi.so-folder

Step 2 Ensure that the include folder is in your include path of the compilation.

For example, when using the GCC , add the include folder after the -I option flag, as follows:

>gcc -c -o-TestSmApi.o Ism-api-header-file-folder
-Ism-api-headerfile-folder/system/ TestSmApi.cpp

Step 3 Ensure that the libsmapi.so file is in your linkage line or load it dynamically.

Specify the location of the libsmapi.so file using the -L option flag. Link your object file to the pthread and stdc++ libraries as follows:

>gcc -o-testSmApi. TestSmApi.o -lsmapi -lpthread -lstdc++ -L<libpath>


hometocprevnextglossaryfeedbacksearchhelp

Posted: Thu May 31 00:20:51 PDT 2007
All contents are Copyright © 1992--2007 Cisco Systems, Inc. All rights reserved.
Important Notices and Privacy Statement.