dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra * CDDL HEADER START
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra * The contents of this file are subject to the terms of the
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra * Common Development and Distribution License (the "License").
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra * You may not use this file except in compliance with the License.
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra * or http://www.opensolaris.org/os/licensing.
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra * See the License for the specific language governing permissions
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra * and limitations under the License.
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra * When distributing Covered Code, include this CDDL HEADER in each
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra * If applicable, add the following below this CDDL HEADER, with the
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra * fields enclosed by brackets "[]" replaced with your own identifying
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra * information: Portions Copyright [yyyy] [name of copyright owner]
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra * CDDL HEADER END
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra * Use is subject to license terms.
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra "Copyright 2009 Sun Microsystems, Inc. All rights reserved.\n" \
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra "Use is subject to license terms.\n"
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra * flag values
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra#define ILBADM_LIST_NOENABLED (~ILBADM_LIST_ENABLED)
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra#define ILBADM_LIST_NODISABLED (~ILBADM_LIST_DISABLED)
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra#define V6_ADDRONLY 0x1 /* don't print surrounding "[]"s */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misratypedef enum {
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_ASSIGNREQ, /* assignment '=' required */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_ENOOPTION, /* mandatory option missing */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_ENOPROTO, /* protocol not found in database */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_ENOSERVICE, /* servicename not found in database */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_ENOSGNAME, /* servergroup name missing */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_ENORULE, /* rulename missing or no such rule */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_ENOSERVER, /* rulename missing or no such rule */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_EXPORTFAIL, /* too little space to do export servergroup */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_FAIL, /* processing of command failed */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_HCPRINT, /* failed to print healthcheck */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_INVAL_AF, /* invalid address family */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_INVAL_ARGS, /* invalid arguments to command */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_INVAL_OPER, /* invalid operation type */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_INVAL_PORT, /* invalid value specified for port */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_INVAL_PROXY, /* proxy-src not allowed */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_INVAL_SRVID, /* server id is invalid (missing "_" ?) */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_LIBERR, /* translation of libilb errors. We also */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra /* set it in ilbadm fuctions to indicate */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra /* printing of non-generic error messages */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_NORECURSIVE, /* recursive import not allowed */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_TOOMANYIPADDR, /* too many addresses */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILBADM_NOKEYWORD_VAL /* no value specified for a keyword */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misratypedef enum {
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra ILB_KEY_SERVRANGE, /* pseudo-key for SG creation */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra * we need a few codes for commands, can't use libilb ones
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misratypedef enum {
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra/* filched from snoop_ether.c */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra list_t sg_serv_list; /* list of servnode_t elements */
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misratypedef ilbadm_status_t (* cmdfunc_t)(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_add_server_to_group(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_create_servergroup(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_destroy_servergroup(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_rem_server_from_group(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_create_rule(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_destroy_rule(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_enable_rule(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_disable_rule(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_show_server(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_enable_server(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_disable_server(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_show_servergroups(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_show_rules(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_show_stats(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_create_hc(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_destroy_hc(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_show_hc_result(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_noimport(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_show_nat(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_show_persist(int, char **);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t i_parse_optstring(char *, void *, ilbadm_key_name_t *,
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_servnode_t *i_new_sg_elem(ilbadm_sgroup_t *);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_import(int, int, char *[], int);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_export_servergroups(ilb_handle_t h, FILE *);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_export_hc(ilb_handle_t h, FILE *);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_export_rules(ilb_handle_t h, FILE *);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t i_check_rule_spec(ilb_rule_data_t *);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrailbadm_status_t ilbadm_set_netmask(char *, ilb_ip_addr_t *, int);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misraint ilbadm_mask_to_prefixlen(ilb_ip_addr_t *);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misraextern int ilb_cmp_ipaddr(ilb_ip_addr_t *, ilb_ip_addr_t *,
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misravoid ip2str(ilb_ip_addr_t *, char *, size_t, int);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misrachar *i_str_from_val(int, ilbadm_val_type_t *);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misravoid unknown_opt(char **, int);
dbed73cbda2229fd1aa6dc5743993cae7f0a7ee9Sangeeta Misra#endif /* _ILBADM_H */