2N/A * The contents of this file are subject to the terms of the 2N/A * Common Development and Distribution License (the "License"). 2N/A * You may not use this file except in compliance with the License. 2N/A * See the License for the specific language governing permissions 2N/A * and limitations under the License. 2N/A * When distributing Covered Code, include this CDDL HEADER in each 2N/A * If applicable, add the following below this CDDL HEADER, with the 2N/A * fields enclosed by brackets "[]" replaced with your own identifying 2N/A * information: Portions Copyright [yyyy] [name of copyright owner] 2N/A * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 2N/A * Use is subject to license terms. 2N/A/* make sure these values stay in sync with definitions in ilb.h! */ 2N/A * information whether we're interested in names or numerical information 2N/A * server status information 2N/A * macros to determine, and for some cases, set status of server 2N/A/* producers of these statuses are libilb and ilbd functions */ 2N/A /* that of the servers */ 2N/A /* not being used by a rule */ 2N/A/* Supported load balancing algorithm type */ 2N/A/* Supported load balancing method */ 2N/A * note: pointer to a non-existant struct 2N/A * Health check related information 2N/A/* HC state of a server */ 2N/A * Struct representing a server in a hc object 2N/A * hcs_rule_name: rule using this server 2N/A * hcs_hc_name: hc object this server is associated with 2N/A * hcs_IP: IP address of the server 2N/A * hcs_fail_cnt: number of fail hc probe 2N/A * hcs_status: hc status of the server 2N/A * hcs_rtt: (in microsec) smoothed average RTT to the server 2N/A * hcs_lasttime: last time hc test was done (as returned by time(2)) 2N/A * hcs_nexttime: next time hc test will be done (as returned by (time(2)) 2N/A/* Probe flags to be used in r_hcpflag in struct rule data. */ 2N/A * Struct representing a hc object 2N/A * hci_name: name of the hc object 2N/A * hci_test: hc test to be done, TCP, UDP, or user supplied path name 2N/A * hci_timeout: (in sec) test time out 2N/A * hci_interval: (in sec) test execution interval 2N/A * hci_def_ping: true if default ping is done; false otherwise 2N/A/* not all fields are valid in all calls where this is used */ 2N/A /* assigned by system, not user */ 2N/A * Struct to represent a server group. 2N/A * sgd_name: server group name 2N/A * sgd_srvcount: number of servers in the group (not used in sever group 2N/A * creation); filled in when used by call back function for 2N/A * ilb_walk_servergroups(). 2N/A * Struct to represent a NAT entry in kernel. 2N/A * nat_proto: transport protocol used in this NAT entry 2N/A * nat_out_global: IP address of client's request 2N/A * nat_out_global_port: port number of client's request 2N/A * nat_in_global: VIP of a rule for the NAT entry 2N/A * nat_in_global_port: port of a rule for the NAT entry 2N/A * nat_out_local: half NAT: IP address of client's request 2N/A * full NAT: NAT'ed IP addres of client' request 2N/A * nat_out_local_port: half NAT: port number of client's request 2N/A * full NAT: NAT'ed port number of client's request 2N/A * nat_in_local: IP address of back end server handling this request 2N/A * nat_in_local_port: port number in back end server handling thi request 2N/A * (*) IPv4 address is represented as IPv4 mapped IPv6 address. 2N/A * Struct to represet a persistent entry in kernel. 2N/A * rule_name: the name of rule for a persistent entry 2N/A * req_addr: the client's IP address (*) 2N/A * srv_addr: the server's IP address (*) handling the client's request 2N/A * (*) IPv4 address is represented as IPv4 mapped IPv6 address. 2N/A * Function prototype of the call back function of those walker functions. 2N/A * Note: the storage of the data item parameter (ilb_sg_data_t/ 2N/A * freed after calling the call back function. If the call back function 2N/A * needs to keep a copy of the data, it must copy the data content. 2N/A const char *,
void *);
2N/A * ilb_open creates a session handle that every caller into 2N/A * libilb needs to use 2N/A * relinquish the session handle 2N/A/* support and general functions */ 2N/A/* rule-related functions */ 2N/A/* servergroup functionality */ 2N/A const char *,
void *);
2N/A const char *,
void *);
2N/A/* functions for individual servers */ 2N/A/* health check-related functions */ 2N/A const char *,
void *);
2N/A/* To show NAT table entries of ILB */ 2N/A/* To show persistent table entries of ILB */ 2N/A#
endif /* _LIBILB_H */