{"set-property",    1, 0, 'P'},
{"set-property",    1, 0, 'p'},
main(int argc, char **argv){	cib_t *	the_cib = NULL;	enum cib_errors rc = cib_ok;		int argerr = 0;	int flag;#ifdef HAVE_GETOPT_H	int option_index = 0;	static struct option long_options[] = {		/* Top-level Options */		{"verbose", 0, 0, 'V'},		{"help",    0, 0, '?'},		{"silent",  0, 0, 'S'},		{"list",    0, 0, 'L'},		{"refresh", 0, 0, 'R'},		{"query",   0, 0, 'Q'},		{"delete",  0, 0, 'D'},		{"cleanup", 0, 0, 'C'},		{"locate",  0, 0, 'W'},		{"migrate", 0, 0, 'M'},		{"resource",1, 0, 'r'},		{"host_uname", 1, 0, 'H'},		{"host_uuid",  1, 0, 'h'},		{"set-property",    1, 0, 'P'},		{"property-value",  1, 0, 'v'},		{0, 0, 0, 0}	};#endif	crm_system_name = basename(argv[0]);	crm_log_init(crm_system_name);	crm_log_level = LOG_ERR;	cl_log_enable_stderr(TRUE);		if(argc < 2) {		usage(crm_system_name, LSB_EXIT_EINVAL);	}		while (1) {#ifdef HAVE_GETOPT_H		flag = getopt_long(argc, argv, OPTARGS,				   long_options, &option_index);#else		flag = getopt(argc, argv, OPTARGS);#endif		if (flag == -1)			break;		switch(flag) {			case 'V':				cl_log_enable_stderr(TRUE);				alter_debug(DEBUG_INC);				break;			case '?':				usage(crm_system_name, LSB_EXIT_OK);				break;			case 'S':				BE_QUIET = TRUE;				break;			case 'L':				rsc_cmd = flag;				break;							case 'R':				rsc_cmd = flag;				break;							case 'Q':				rsc_cmd = flag;				break;							case 'D':				rsc_cmd = flag;				break;							case 'C':				rsc_cmd = flag;				break;							case 'P':				crm_debug_2("Option %c => %s", flag, optarg);				prop_name = optarg;				rsc_cmd = flag;				break;							case 'W':				rsc_cmd = flag;				break;							case 'M':				rsc_cmd = flag;				break;							case 'r':				crm_debug_2("Option %c => %s", flag, optarg);				rsc_id = optarg;				break;			case 'v':				crm_debug_2("Option %c => %s", flag, optarg);				prop_value = optarg;				break;			case 'H':				crm_debug_2("Option %c => %s", flag, optarg);				host_uname = optarg;				break;							case 'h':				crm_debug_2("Option %c => %s", flag, optarg);				host_id = crm_strdup(optarg);				break;							default:				printf("Argument code 0%o (%c) is not (?yet?) supported\n", flag, flag);				++argerr;				break;		}	}	if (optind < argc) {		printf("non-option ARGV-elements: ");		while (optind < argc)			printf("%s ", argv[optind++]);		printf("\n");	}	if (optind > argc) {		++argerr;	}	if (argerr) {		usage(crm_system_name, LSB_EXIT_GENERIC);	}	the_cib = cib_new();	rc = the_cib->cmds->signon(the_cib, crm_system_name, cib_command);	if(rc != cib_ok) {		crm_err("Error signing on to the CIB service: %s",			cib_error2string(rc));		return rc;	}	if(rsc_cmd == 'L') {		crm_data_t *cib_xml_copy = get_cib_copy(the_cib);		crm_data_t *resource_list = get_object_root(			XML_CIB_TAG_RESOURCES, cib_xml_copy);		do_find_resource_list(LOG_INFO, resource_list);		free_xml(cib_xml_copy);			} else if(rsc_cmd == 'W') {		crm_data_t *cib_xml_copy = get_cib_copy(the_cib);		rc = do_find_resource(rsc_id, cib_xml_copy);		free_xml(cib_xml_copy);			} else if(rsc_cmd == 'R') {	} else if(rsc_cmd == 'Q') {	} else if(rsc_cmd == 'D') {	} else if(rsc_cmd == 'C') {	} else if(rsc_cmd == 'M') {	} else if(rsc_cmd == 'r') {	} else if(rsc_cmd == 'P') {	}	the_cib->cmds->signoff(the_cib);	if(rc == cib_NOTEXISTS) {		crm_warn("Error performing operation: %s",			 cib_error2string(rc));	} else if(rc < cib_ok) {		crm_warn("Error performing operation: %s",			 cib_error2string(rc));	}	return rc;}