wn_grid(_c)

	status.i4.v = wn_grid(window_id.i4.r, viewport.r4a.r, limits.r4a.r,
			      ticks.i4a.r, x_text.i1a.r, x_text_size.i4.r,
			      x_text_color.i4.r, y_text.i1a.r,
			      y_text_size.i4.r, y_text_color.i4.r,
			      label_lengths.i4a.r, options.u4.r
			      [,scaling.i4a.r] [,x_loc_major.r4a.r]
			      [,y_loc_major.r4a.r] [,tick_length.r4a.r]
			      [,x_loc_minor.r4a.r] [,y_loc_minor.r4a.r]
			      [,label_colors.i4a.r])

	status.i4.v = wn_grid_c(window_id.i4.r, viewport.r4a.r, limits.r4a.r,
				ticks.i4a.r, x_text.i1a.r, x_text_size.i4.v,
				x_text_color.i4.v, y_text.i1a.r,
				y_text_size.i4.v, y_text_color.i4.v,
				label_lengths.i4a.r, options.u4.v
				[,scaling.i4a.r] [,x_loc_major.r4a.r]
				[,y_loc_major.r4a.r] [,tick_length.r4a.r]
				[,x_loc_minor.r4a.r] [,y_loc_minor.r4a.r]
				[,label_colors.i4a.r])

	This routine creates and draws a grid for the graphic window specified
	by "viewport" and "limits".  It actually creates the graphic window for
	you and makes it active.  This has the same effect as calling
	wn_view(_c), wn_world(_c), wn_active(_c), and wn_axis_label(_c)
	for both axes.

	window_id	returned window ID
	viewport	4 element array defining the window viewport
			coordinates in xmin, ymin, xmax, ymax order
	limits		4 element array defining the window real world
			coordinates in xmin, ymin, xmax, ymax order
	ticks		4 element array defining the number of major and
			minor axis tick marks in xmajor, xminor, ymajor,
			yminor order
			(If "xloc_minor" is specified and does not have a value
			 of NULL, "ticks[1]" indicates the total number of
			 minor X axis tick mark values passed in "xloc_minor".)
			(If "yloc_minor" is specified and does not have a value
			 of NULL, "ticks[3]" indicates the total number of
			 minor Y axis tick mark values passed in "yloc_minor".)
	x_text		title for X axis (must be null terminated or passed
			as a string descriptor)
			(A value of NULL may be passed if no title is desired.) 
	x_text_size	character size for X axis title
			(WN_TEXT_MIN_SIZE -> WN_TEXT_MAX_SIZE)
	x_text_color	color of X axis title (constants are in 'cnsparam')
	y_text		title for Y axis (must be null terminated or passed
			as a string descriptor)
			(A value of NULL may be passed if no title is desired.) 
	y_text_size	character size for Y axis title
			(WN_TEXT_MIN_SIZE -> WN_TEXT_MAX_SIZE)
	y_text_color	color of Y axis title (constants are in 'cnsparam')
	label_lengths	2 element array defining the number of characters
			per numeric label in x-axis, y-axis order
	options		miscellaneous setup options (Note: The following
			values should be logically OR'ed together to
			create the desired grid setup.)
			(WN_NO_GRID -> don't draw grid lines,
			 WN_MAKE_GRID -> draw grid lines on major ticks,
			 WN_NORMAL_NOTATION -> normal notation for labels,
			 WN_SCIENTIFIC_NOTATION -> scientific notation,
			 WN_SCIENTIFIC_NOTATION_X -> scientific notation for x,
			 WN_SCIENTIFIC_NOTATION_Y -> scientific notation for y,
			 WN_SQUEEZE_X_LABEL -> squeeze x axis labels,
			 WN_SQUEEZE_Y_LABEL -> squeeze y axis labels,
			 WN_INVERT_X_TICK_MARKS -> invert x-axis tick marks,
			 WN_INVERT_Y_TICK_MARKS -> invert y-axis tick marks,
			 WN_DOTTED_X_GRID -> make major x axis grid lines
					     dotted rather than solid,
			 WN_DOTTED_Y_GRID -> make major y axis grid lines
					     dotted rather than solid,
			 WN_X_LIMIT_LABELS_ONLY -> only label the limits of
						   the X axis,
			 WN_Y_LIMIT_LABELS_ONLY -> only label the limits of
						   the Y axis)
	[scaling]	2 element array defining the scaling for each axis
			in x, y order
			(WN_SCALE_LINEAR -> linear scaling (default),
			 WN_SCALE_LOG10 -> base 10 log scaling,
			 WN_SCALE_NATURAL_LOG -> natural log scaling)
	[x_loc_major]	array ("ticks[0]" + 1 elements) of real world
			coordinates defining locations for each major X axis
			tick/grid (default is evenly spaced ticks)
	[y_loc_major]	array ("ticks[2]" + 1 elements) of real world
			coordinates defining locations for each major Y axis
			tick/grid (default is evenly spaced ticks)
	[tick_length]	2 element array containing tick mark lengths in terms
			of the real world coordinates for the opposite plane
			to the axis plane (default is 0.04 times the size
			of the plot window)
	[x_loc_minor]	array ("ticks[1]" + 1 elements) of real world
			coordinates defining locations for each minor X axis
			tick mark
	[y_loc_minor]	array ("ticks[3]" + 1 elements) of real world
			coordinates defining locations for each minor Y axis
			tick mark
	[label_colors]	colors of axis label text in x-axis, y-axis order
			(default is the same as the color of the axis lines
			 which is the the color most recently selected by a
			 call to wn_color(_c))

	This function returns ACNET status values as follows:

	OK			success
	CBS_INVARG		invalid coordinates specified
	CBS_MEMFAIL		failed in allocating dynamic memory

	This function requires the following include files:

	cnsparam_h, clib_h, cbslib_h, acnet_errors_h

	Related functions:

	wn_quick_grid, wn_axis_label(_c), wn_axis_grid(_c), wn_view(_c),
	wn_world(_c), wn_active(_c), wn_grid_pixel_c, wn_multitrace_grid_c,
	wn_multitrace_grid_pixel_c, wn_multitrace_axis_label_c, wn_flush,
	intro_graphics_windows

	C/C++ usage:

	statics const char	x_text[] = "X Axis Title";
	statics const char	y_text[] = "Y Axis Title";
	int	status;
	int	window_id;
	static const int	ticks[4] = {4, 5, 4, 5};
	int	x_text_size = WN_TEXT_MIN_SIZE;
	int	x_text_color = CYAN;
	int	y_text_size = WN_TEXT_MIN_SIZE;
	int	y_text_color = CYAN;
	static const int	label_lengths[2] = {6, 6};
	static const int	scaling[2] = {WN_SCALE_LINEAR, WN_SCALE_LINEAR};
	static const int	label_colors[2] = {CYAN, CYAN};
	unsigned int	options = WN_MAKE_GRID | WN_NORMAL_NOTATION;
	static const float	viewport[4] = {0.1, 0.1, 0.9, 0.9};
	static const float	limits[4] = {1.0, 1.0, 10.0, 10.0};
	float	*x_loc_major = (float *) NULL;
	float	*y_loc_major = (float *) NULL;
	float	*tick_length = (float *) NULL;
	float	*x_loc_minor = (float *) NULL;
	float	*y_loc_minor = (float *) NULL;

	status = wn_grid_c(&window_id,viewport,limits,ticks,x_text,
			   x_text_size,x_text_color,y_text,y_text_size,
			   y_text_color,label_lengths,options,scaling,
			   x_loc_major,y_loc_major,tick_length,
			   x_loc_minor,y_loc_minor,label_colors);