str_get_value_c

	output_length.i4.v = str_get_value_c(source_string.i1p.r,
					     output_string.i1a.r,
					     value_type.i4.v [,max_return.i4.v]
					     [,field_terms.i1a.r]
					     [,options.u4.v]
					     [,conditions.u4.v]
					     [,cond_terms.i1a.r])

	This routine extracts a value of the type requested from an
	input string and copies it into a caller-supplied output
	string.  The pointer to the input string is then updated to
	point immediately following the extracted string.  The output
	string is always null terminated.

	source_string	address of pointer to input string (This will be
			modified to point just past the extracted string
			upon return.)
	output_string	buffer to copy extracted string to (It must be long
			enough to hold the extracted string plus a null
			terminator.)
	value_type	type of string to extract
			(STR_SIMPLE_STRING -> simple string with no imbedded
					      white space,
			 STR_COMPOUND_STRING -> string with possible imbedded
						white space,
			 STR_ALPHANUMERIC -> simple alphanumeric string,
			 STR_ALPHABETIC_STRING -> simple alphabetic string,
			 STR_LOWER_CASE_STRING -> simple lower case string,
			 STR_UPPER_CASE_STRING -> simple upper case string,
			 STR_INTEGER_STRING -> signed integer string,
			 STR_INT_STRING_WITH_MODIFIERS -> signed integer string
							  (with length
							   modifiers),
			 STR_INTEGER_MODIFIER -> integer string modifier,
			 STR_HEX_STRING -> hexadecimal string,
			 STR_HEX_STRING_WITH_MODIFIERS -> hexadecimal string
							  (with length
							   modifiers),
			 STR_BINARY_STRING -> binary string,
			 STR_BINARY_STRING_WITH_MODIFIERS -> binary string
							     (with length
							      modifiers),
			 STR_OCTAL_STRING -> octal string,
			 STR_OCTAL_STRING_WITH_MODIFIERS -> octal string
							    (with length
							     modifiers),
			 STR_FLOAT_STRING -> floating point value string,
			 STR_DEVICE_NAME -> ACNET device name string,
			 STR_DEVICE_TERSE_NAME -> ACNET device terse name string,
			 STR_DEVICE_FULL_NAME -> ACNET device full name string,
			 STR_SIMPLE_DEVICE_NAME -> ACNET device name string
						   with no property
						   indicators,
			 STR_SIMPLE_DEVICE_TERSE_NAME -> ACNET device terse name
							 string with no property
							 indicators,
			 STR_SIMPLE_DEVICE_FULL_NAME -> ACNET device full name
							string with no property
							indicators,
			 STR_QUOTED_STRING -> quoted string (enclosed by
					      either single (') or double
					      (") quotes),
			 STR_FIXED_LENGTH_STRING -> fixed length string,
			 STR_TEXT_LINE -> line of text terminated by either
					  a line feed character or a line feed/
					  carriage return combination,
			 STR_DATE_STRING -> date string)
	[max_return]	maximum number of characters to return
			(default is 256)
	[field_terms]	null terminated array of terminator characters for
			STR_SIMPLE_STRING or STR_COMPOUND_STRING types
			(default is NULL)
	[options]	option flags
			(STR_OPT_NONE -> no options selected (default),
			 STR_OPT_SKIP_TERMINATOR -> move the returned string
						    pointer past the character
						    that terminated the value
						    unless it was a null
						    character,
			 STR_OPT_HANDLE_QUOTES -> preserve quoted strings,
			 STR_OPT_HANDLE_PARENTHESES -> preserve parenthetical
						       strings,
			 STR_OPT_HANDLE_ESCAPED_QUOTES -> handle escaped quotes)
	[conditions]	condition flags
			(STR_COND_NONE -> no conditions selected (default),
			 STR_COND_FIRST_ALPHABETIC -> first character is
						      alphabetic,
			 STR_COND_FIRST_NOT_NUMERIC -> first character is not
						       numeric,
			 STR_COND_IS_NUMERIC_VALUE -> current value is numeric,
			 STR_COND_NOT_NUMERIC_VALUE -> current value is not
						       numeric,
			 STR_COND_IS_DEVICE_VALUE -> current value is a device,
			 STR_COND_NOT_DEVICE_VALUE -> current value is not a
						      device,
			 STR_COND_PRE_NOT_NUMERIC -> previous character is not
						     numeric)
	[cond_terms]	null terminated array of conditional terminator
			characters for STR_SIMPLE_STRING or
			STR_COMPOUND_STRING types (default is NULL)

	This function returns status values as follows:

	CBS_INVARG		invalid string type or number of characters
	otherwise		number of characters extracted

	This function requires the following include files:

	cbslib_h, acnet_errors_h

	Related functions:

	str_regexp_get_value_c, strtok, str_get_tagged_value_c,
	str_get_tagged_value_alloc_c, str_get_bracketed_c

	C/C++ usage:

	static const char	source_buffer[] = " \"Quoted string\" ";
	char	output_string[65];
	char	*source_string;
	char	*field_terms = (char *) NULL;
	char	*cond_terms = (char *) NULL;
	int	status;
	int	value_type = STR_QUOTED_STRING;
	int	max_return = sizeof(output_string);
	unsigned int	options = STR_OPT_NONE;
	unsigned int	conditions = STR_COND_NONE;

	source_string = source_buffer;

	status = str_get_value_c(&source_string,output_string,value_type,
				 max_return,field_terms,options,conditions,
				 cond_terms);