Пример #1
0
ilbadm_status_t
ilbadm_export_hc(ilb_handle_t h, FILE *fp)
{
    ilb_status_t	rclib;
    ilbadm_status_t	ret = ILBADM_OK;
    hc_export_arg_t	arg;

    arg.fp = fp;
    rclib = ilb_walk_hc(h, ilbadm_export_hcinfo, (void *)&arg);
    if (rclib != ILB_STATUS_OK) {
        ilbadm_err(ilb_errstr(rclib));
        ret = ILBADM_LIBERR;
    }
    return (ret);
}
Пример #2
0
/* ARGSUSED */
ilbadm_status_t
ilbadm_show_hc(int argc, char *argv[])
{
    ilb_handle_t	h = ILB_INVALID_HANDLE;
    ilb_status_t	rclib;
    ofmt_handle_t	ofmt_h;
    ofmt_status_t	ofmt_ret;

    if ((ofmt_ret = ofmt_open("all", hc_fields, 0, SHOW_HC_COLS,
                              &ofmt_h)) != OFMT_SUCCESS) {
        char err_buf[SHOW_HC_COLS];

        ilbadm_err(gettext("ofmt_open failed: %s"),
                   ofmt_strerror(ofmt_h, ofmt_ret, err_buf, SHOW_HC_COLS));
        return (ILBADM_LIBERR);
    }
    rclib = ilb_open(&h);
    if (rclib != ILB_STATUS_OK)
        goto out;

    if (argc == 1) {
        rclib = ilb_walk_hc(h, ilbadm_print_hc, ofmt_h);
    } else {
        ilb_hc_info_t hc_info;
        int i;

        for (i = 1; i < argc; i++) {
            rclib = ilb_get_hc_info(h, argv[i], &hc_info);
            if (rclib == ILB_STATUS_OK)
                ofmt_print(ofmt_h, &hc_info);
            else
                break;
        }
    }
out:
    ofmt_close(ofmt_h);

    if (h != ILB_INVALID_HANDLE)
        (void) ilb_close(h);

    if (rclib != ILB_STATUS_OK) {
        ilbadm_err(ilb_errstr(rclib));
        return (ILBADM_LIBERR);
    }

    return (ILBADM_OK);
}
Пример #3
0
ilb_status_t
ilb_reset_config(ilb_handle_t h)
{
	ilb_status_t	rc;

	if (h == NULL)
		return (ILB_STATUS_EINVAL);

	rc = ilb_walk_rules(h, i_drop_rule, NULL, NULL);
	if (rc != ILB_STATUS_OK)
		goto out;

	rc = ilb_walk_servergroups(h, i_drop_sg, NULL, NULL);
	if (rc != ILB_STATUS_OK)
		goto out;

	rc = ilb_walk_hc(h, i_drop_hc, NULL);
out:
	return (rc);
}