Dbxclose()

From Recital Documentation Wiki
Jump to: navigation, search

PURPOSE

close an open tagged index file


SYNOPSIS

#include "dbl.h"
 
	int	dbxclose(dbx);
 
	<input parameters>
	char	*dbx;		/* Tagged index file descriptor */
 
	<output parameters>
	none


RETURN VALUE

The dbxclose() function returns 0 for success, or < 0 if an error occurs. See the section on return code values for a detailed list of return codes.


DESCRIPTION

The dbxclose() function is used to close the tagged index file, .DBX specified in the file descriptor.


EXAMPLE

The following example creates a tag on the VESSEL field for the shipwreck.dbf table, then closes the index and the table.


#include <stdio.h>
#include "dbl.h"			/* Recital/Library include file */
#include "dblproto.h"		/* Recital/Library prototype file */
 
	static	dBFIELD fields[6] = {
		"VESSEL",	'C',	18,	0,	0,
		"LAT",		'N',	4,	1,	0,
		"LONG",		'N',	4,	1,	0,
		"AMOUNT",	'N',	10,	0,	0,
		"DATE",		'D',	8,	0,	0,
		"FLAG",		'C',	9,	0,	0
	};
 
	static void errorproc(
		char	*func,
		char	*str,
		int	rc);
 
	main()
	{
		int	rc; 		/* Return Code for error handling */
		char	*dbf; 	/* File descriptor for table */
		char	*dbx; 	/* File descriptor for tagged index */
 
		rc = dbdcache(100);
		errorproc("dbdcache()","table cache specified.", rc);
		rc = dbicache(100);
		errorproc("dbicache()", "index cache specified.",rc);
		rc = dbfilemode(0,0);
		rc = dbopen("shipwreck.dbf", &dbf);
		errorproc("dbopen()","table opened in exclusive mode.", rc);
 
		rc = dbxcreate( dbf,
			fields[0].fieldnm,		/* "VESSEL",	*/
			&dbx,
			fields[0].fieldnm,		/* "VESSEL",	*/
			NULL,
			0,
			0);
		errorproc("dbxcreate()","tag created", rc);
 
		rc = dbxclose(dbx);
		errorproc("dbxclose()", "tagged index closed.", rc);
		rc = dbclose(dbf);
		errorproc("dbclose()", "table closed.", rc);
 
		exit(0);
}
 
	static void errorproc(func, str, rc)
	char	*func;
	char	*str;
	int	rc;
{
	if ( rc != SUCCESS ) {
		printf("\n  Error performing function %s -> %d\n", func, rc);
		exit(1);
	}
	printf("Function: \t%s, \t%s - Ok\n", func, str);
	return;
}


SEE ALSO

dbxflsh(), dbxopen()