" or on STDIN if -X isnt specified\n", cmd);
" or on STDIN if -X isnt specified\n", cmd, OPTARGS);
usage(const char *cmd, int exit_status){	FILE *stream;	stream = exit_status != 0 ? stderr : stdout;	fprintf(stream, "usage: %s [-?Vio] command\n"		"\twhere necessary, XML data will be expected using -X"		" or on STDIN if -X isnt specified\n", cmd);	fprintf(stream, "Options\n");	fprintf(stream, "\t--%s (-%c) <id>\tid of the object being operated on\n",		XML_ATTR_ID, 'i');	fprintf(stream, "\t--%s (-%c) <type>\tobject type being operated on\n",		"obj_type", 'o');	fprintf(stream, "\t\tValid values are: node, resource, node_state, constraint, nvpair\n");	fprintf(stream, "\t--%s (-%c)\tturn on debug info."		"  additional instance increase verbosity\n", "verbose", 'V');	fprintf(stream, "\t--%s (-%c)\tthis help message\n", "help", '?');	fprintf(stream, "\nCommands\n");	fprintf(stream, "\t--%s (-%c)\t\n", CIB_OP_ERASE,  'E');	fprintf(stream, "\t--%s (-%c)\t\n", CIB_OP_QUERY,  'Q');	fprintf(stream, "\t--%s (-%c)\t\n", CIB_OP_CREATE, 'C');	fprintf(stream, "\t--%s (-%c)\t\n", CIB_OP_REPLACE,'R');	fprintf(stream, "\t--%s (-%c)\t\n", CIB_OP_UPDATE, 'U');	fprintf(stream, "\t--%s (-%c)\t\n", CIB_OP_DELETE, 'D');	fprintf(stream, "\t\t\tDelete the first object matching the supplied criteria");	fprintf(stream, "\t\t\tEg. <op id=\"rsc1_op1\" name=\"monitor\"/>");	fprintf(stream, "\t\t\tThe tagname and all attributes must match in order for the element to be deleted");		fprintf(stream, "\t--%s (-%c)\t\n", CIB_OP_DELETE_ALT, 'd');	fprintf(stream, "\t\t\tDelete the object at specified fully qualified location");	fprintf(stream, "\t\t\tEg. <resource id=\"rsc1\"><operations><op id=\"rsc1_op1\"/>...");	fprintf(stream, "\t\t\tRequires -o");	fprintf(stream, "\t--%s (-%c)\t\n", CIB_OP_BUMP,   'B');	fprintf(stream, "\t--%s (-%c)\t\n", CIB_OP_ISMASTER,'M');	fprintf(stream, "\t--%s (-%c)\t\n", CIB_OP_SYNC,   'S');	fprintf(stream, "\nXML data\n");	fprintf(stream, "\t--%s (-%c) <string>\t\n", F_CRM_DATA, 'X');	fprintf(stream, "\nAdvanced Options\n");	fprintf(stream, "\t--%s (-%c)\tsend command to specified host."		" Applies to %s and %s commands only\n", "host", 'h',		CIB_OP_QUERY, CIB_OP_SYNC);	fprintf(stream, "\t--%s (-%c)\tcommand takes effect locally"		" on the specified host\n", "local", 'l');	fprintf(stream, "\t--%s (-%c)\tcommand will not be broadcast even if"		" it altered the CIB\n", "no-bcast", 'b');	fprintf(stream, "\t--%s (-%c)\twait for call to complete before"		" returning\n", "sync-call", 's');	fflush(stream);	exit(exit_status);}