OA&M API for Linux Operating Systems Programming Guide August 2005 05-1850-004
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT.
Contents Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 About This Publication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intended Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents Figures 1 2 4 OA&M API Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Event Notification Framework. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Revision History This revision history summarizes the changes made in each published version of this document. Document No. Publication Date Description of Revisions 05-1850-004 August 2005 General Guidelines section: Added information about freeing memory that is allocated for object pointers. 05-1850-003 March 2005 Application Development Guidelines chapter : Added section about High Availability ® development guidelines. High Availability is a feature of cPCI boards.
Revision History 6 OA&M API for Linux Programming Guide — August 2005
About This Publication The following topics provide information about this publication: • Purpose • Intended Audience • How to Use This Publication • Related Information Purpose This publication provides guidelines for building applications using the Operations, Administration and Maintenance (OA&M) API. The OA&M API is used to create system management applications (for example, a customized CT bus clocking daemon).
About This Publication The information in this guide is organized as follows: • Chapter 1, “Product Description” provides an overview of the OA&M API. • Chapter 2, “Event Handling” describes how to register with the OA&M event notification framework and handle OA&M events. • Chapter 3, “Error Handling” describes the exception handling capabilities provided by the OA&M API. • Chapter 4, “Application Development Guidelines” provides guidelines when developing applications from the OA&M API.
Product Description 1. 1 This chapter describes the OA&M API. The following topics are included: • OA&M API Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 • Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 • OA&M API Class Hierarchy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 • Event Notification Framework . .
Product Description Figure 1. OA&M API Classes 1.2 Features The features available through the OA&M API include the following: • Get version information (major release number, release build number, service pack number, feature pack number, service update number, feature release number etc.) about the Intel® Dialogic system software that is installed on a node (ICTNode class). Note: The CTPLATFORMVERSIONINFO data structure has been updated as part of the current system software release.
Product Description for Linux Operating Systems Library Reference for information about the CTPLATFORMVERSIONINFO data structure and the ICTNode::GetSystemReleaseVersionInfo( ) function. • Get physical identification information (serial number, PCI slot number, number of network interface trunks, etc.) about individual DM3 architecture or Springware architecture boards (ICTBoard class).
Product Description Figure 2. Event Notification Framework Application (linked to libdlgadminconsumerfw.so for Linux) (linked to libdlgadminconsumerfw.lib for Windows) libdlgadminconsumerfw.so (Linux) libdlgadminconsumerfw.
Product Description The framework contains the following event notification channels, each of which carries specific types of events: • ADMIN_CHANNEL • CLOCK_EVENT_CHANNEL • FAULT_CHANNEL • NETWORK_ALARM_CHANNEL Notes: 1. DM3 architecture boards generate events on all four channels shown above. Springware architecture boards only generate NETWORK_ALARM_CHANNEL events. 2. Each DlgAdminConsumer object can only monitor one event notification channel for incoming events.
Product Description 14 OA&M API for Linux Programming Guide — August 2005
Event Handling 2. 2 This chapter provides information about receiving and handling asynchronous events that are transmitted via the event notification framework. For your application to receive events from the event notification framework you must follow these steps: 1. Define and implement a class that is derived from the CEventHandlerAdaptor class. 2. Provide an implementation of the CEventHandlerAdaptor::HandleEvent( ) function. 3.
Event Handling 16 OA&M API for Linux Programming Guide — August 2005
Error Handling 3. 3 This chapter describes the error handling capabilities provided by the OA&M API. When an error occurs during execution of a function in one of the System Component classes (CCTDomain, ICTNode, ICTBoard or ICTClockAgent), an exception is thrown. Exceptions can be caught and handled by including standard C++ try/catch blocks throughout your application code.
Error Handling 18 OA&M API for Linux Programming Guide — August 2005
Application Development Guidelines 4. 4 This chapter provides information about developing applications using the OA&M API. It includes the following sections: • General Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 • Designing CT Bus Clocking Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 • Designing High Availability into Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Application Development Guidelines • ICTClockAgent::SetTDMBusConfiguration( ) 4.2 Designing CT Bus Clocking Applications If you are using any of ICTClockAgent class member functions (for example, to develop a customized system clocking daemon) you must disable the clocking daemon that is included with the Intel® Dialogic system software by editing the ClockDaemonMode parameter in the dlgsys.cfg file.
Application Development Guidelines 6. When the stopbrd utility successfully stops the board, use the removebrd utility to notify the system that the board is being removed. 7. Physically remove the board from the chassis when the board’s Out of Service (Blue) LED lights. 8. Insert a new board into the chassis, configure it according to the procedures in the appropriate Configuration Guide and invoke the startbrd utility. 9.
Application Development Guidelines 22 OA&M API for Linux Programming Guide — August 2005
Building Applications 5. 5 This chapter provides general information for building applications that use the OA&M library. The following topics are included in this chapter: • Compiling and Linking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 • Variables for Compiling and Linking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.
Building Applications dlgeventproxydef.h defines the generic data structure for OA&M events Note: 5.1.2 User-defined header files that provide an implementation of the CEventHandlerAdaptor class (i.e., adminhandler.h) and override its CEventHandlerAdaptor::HandleEvent( ) function also need to be included in any application that receives and processes OA&M events. Required Libraries The following library file must be linked to all applications that use the OA&M API: libdlgdasi.
Index A I array of filters 15 INTEL_DIALOGIC_INC 24 INTEL_DIALOGIC_LIB 24 C CCTDasiException 9, 17 CEventHandlerAdaptor 12, 15 class heirarchy 11, 19 client data 15 CT Bus 8 D dasi.h 23 devices virtual 20 DlgAdminConsumer 12 dlgadminconsumer.h 23 dlgadminevents.h 23 dlgadminmsg.h 23 dlgcclockingevents.h 23 dlgcnetworkalarmevents.h 23 dlgcprocfaultevents.h 23 dlgeventproxydef.h 24 DM3 11, 13 L libdlgadminconsumerfw.so 24 libdlgdasi.
OA&M API for Linux Programming Guide — August 2005