Table of Contents
Programming Client Applications
Contents
About This Guide
Chapter 1: Cluster Information Program
Cluster Information Program Overview
Getting Started
Clinfo APIs
Events Tracked by Clinfo
Cluster Information Tracked by Clinfo
Clusters
Nodes
Network Interfaces
Available Network Interface Information
Resource Group
Cluster Networks
Cluster Site(s)
Chapter 2: Clinfo C API
Using the Clinfo C API in an Application
Header Files
Compiler Preprocessor Directives for Applications Using Client APIs
Linking the libcl.a and libcl_r.a Libraries
Constants
Macros
Data Types and Structures
Upgrading Applications from Earlier Clinfo Releases
cl_getlocalid
cl_getnodeidbyifname
cl_getprimary
cl_isaddravail
Memory Allocation Routines
Requests
Cluster Information Requests
Node Information Requests
Network Interface Information Requests
Network Information Requests
Event Notification Requests
Resource Group Information Requests
Site Information Requests
Utilities
cl_initialize Routine
cl_errmsg Routine
cl_errmsg_r Routine
cl_perror Routine
cl_alloc_clustermap Routine
Syntax
Description
Parameters
Status Codes
Example
cl_alloc_groupmap Routine
Syntax
Description
Parameters
Status Codes
Example
cl_alloc_netmap Routine
Syntax
Description
Parameters
Status Codes
Example
cl_alloc_nodemap Routine
Syntax
Description
Parameters
Status Codes
Example
cl_alloc_sitemap Routine
Syntax
Description
Parameters
Status Codes
Example
cl_bestroute Routine
Syntax
Description
Parameters
Status Codes
Example
cl_free_clustermap Routine
Syntax
Description
Parameters
Example
cl_free_groupmap Routine
Syntax
Description
Parameters
Example
cl_free_netmap Routine
Syntax
Description
Parameters
Status Codes
Example
cl_free_nodemap Routine
Syntax
Description
Parameters
Example
cl_free_sitemap Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getcluster Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getclusterid Routine
Syntax
Description
Parameter
Status Codes
Example
cl_getclusteridbyifaddr Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getclusteridbyifname Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getclusters Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getevent Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getgroup Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getgroupmap Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getgroupnodestate Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getgroupsbynode Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getifaddr Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getifname Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getlocalid Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getnet Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getnetbyname Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getnetmap Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getnetsbyattr Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getnetsbytype Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getnetstatebynode Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getnode Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getnodeaddr Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getnodemap Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getnodenamebyifaddr Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getnodenamebyifname Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getprimary Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getsite Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getsitebyname Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getsitebypriority Routine
Syntax
Description
Parameters
Status Codes
Example
cl_getsitemap Routine
Syntax
Description
Parameters
Status Codes
Example
cl_isaddravail Routine
Syntax
Description
Parameters
Status Codes
Example
cl_isclusteravail Routine
Syntax
Description
Parameters
Status Codes
Example
cl_isnodeavail Routine
Syntax
Description
Parameters
Status Codes
Example
cl_model_release Routine
cl_node_free
Syntax
Description
Parameters
Status Codes
Sample Source
Sample Output
cl_registereventnotify Routine
Syntax
Description
Parameters
Status Codes
Example
cl_unregistereventnotify Routine
Syntax
Description
Parameters
Status Codes
Example
Chapter 3: Clinfo C++ API
Clinfo C++ Object Classes
Using the Clinfo C++ API in an Application
Linking to the Clinfo C API
Header Files
The libclpp.a and libclpp_r.a Libraries
Constants
Data Types and Structures
Assigning Class CL_netif data: cli_addr and cli_name
Overloaded Assignment Operator
Functions Called Using the Clinfo C API
Upgrading Applications from Earlier Clinfo Releases
CL_getprimary
Requests
Cluster Information Requests
Node Information Requests
Network Interface Information Requests
Resource Group Information Requests
Event Notification Requests
CL_getallinfo Routine
Syntax
Description
Required Input Object Data
Return Value
Status Value
Example
CL_getlocalid Routine
Syntax
Description
Required Input Object Data
Return Value
Status Value
Example
CL_cluster::CL_getallinfo Routine
Syntax
Description
Required Input Object Data
Return Value
Status Value
Example
CL_cluster::CL_getclusterid Routine
Syntax
Description
Required Input Object Data
Return Value
Status Value
Example
CL_cluster::CL_getinfo Routine
Syntax
Description
Required Input Object Data
Return Value
Status Value
Example
CL_cluster::CL_getprimary Routine
Syntax
Description
Required Input Object Data
Return Value
Status Value
Example
CL_cluster::CL_isavail Routine
Syntax
Description
Required Input Object Data
Return Value
Status Codes
Example
CL_cluster::CL_getgroupinfo Routine
Syntax
Description
Required Input Object Data
Return Value
Status Value
Example
CL_group::CL_getinfo Routine
Syntax
Description
Required Input Object Data
Return Value
Status Value
Example
CL_netif::CL_getclusterid Routine
Syntax
Description
Required Input Object Data
Return Value
Status Value
Example
CL_netif::CL_getifaddr Routine
Syntax
Description
Required Input Object Data
Return Value
Status Value
Example
CL_netif::CL_getifname Routine
Syntax
Description
Required Input Object Data
Return Value
Status Values
Example
CL_netif::CL_getnodeaddr Routine
Syntax
Description
Required Input Object Data
Return Value
Status Value
Example
CL_netif::CL_getnodenamebyif Routine
Syntax
Description
Required Input Object Data
Return Value
Status Value
Example
CL_netif::CL_isavail Routine
Syntax
Description
Required Input Object Data
Return Value
Status Codes
Example
CL_node::CL_bestroute Routine
Syntax
Description
Required Input Object Data
Return Value
Status Value
Example
CL_node::CL_getinfo Routine
Syntax
Description
Required Input Object Data
Return Value
Status Value
Example
CL_node::CL_isavail Routine
Syntax
Description
Required Input Object Data
Return Value
Status Codes
Example
Chapter 4: Sample Clinfo Client Program
Overview
Sample Customized clinfo.rc Script
cl_status.c
Appendix A: Implementation Specifics
Notices for HACMP Programming Client Applications
Index