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