GRASS GIS 8 Programmer's Manual  8.5.0dev(2025)-324285da0f
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
dbfopen.c File Reference
#include "shapefil_private.h"
#include <math.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <strings.h>
Include dependency graph for dbfopen.c:

Go to the source code of this file.

Macros

#define STRCASECMP(a, b)   (strcasecmp(a, b))
 
#define CPLsprintf   sprintf
 
#define CPLsnprintf   snprintf
 
#define FALSE   0
 
#define TRUE   1
 
#define XBASE_FILEHDR_SZ   32
 
#define HEADER_RECORD_TERMINATOR   0x0D
 
#define END_OF_FILE_CHARACTER   0x1A
 
#define CPL_IGNORE_RET_VAL_INT(x)   x
 

Functions

void DBFUpdateHeader (DBFHandle psDBF)
 
void DBFSetLastModifiedDate (DBFHandle psDBF, int nYYSince1900, int nMM, int nDD)
 
DBFHandle DBFOpen (const char *pszFilename, const char *pszAccess)
 
DBFHandle DBFOpenLL (const char *pszFilename, const char *pszAccess, const SAHooks *psHooks)
 
void DBFClose (DBFHandle psDBF)
 
DBFHandle DBFCreate (const char *pszFilename)
 
DBFHandle DBFCreateEx (const char *pszFilename, const char *pszCodePage)
 
DBFHandle DBFCreateLL (const char *pszFilename, const char *pszCodePage, const SAHooks *psHooks)
 
int DBFAddField (DBFHandle psDBF, const char *pszFieldName, DBFFieldType eType, int nWidth, int nDecimals)
 
int DBFAddNativeFieldType (DBFHandle psDBF, const char *pszFieldName, char chType, int nWidth, int nDecimals)
 
int DBFReadIntegerAttribute (DBFHandle psDBF, int iRecord, int iField)
 
double DBFReadDoubleAttribute (DBFHandle psDBF, int iRecord, int iField)
 
const char * DBFReadStringAttribute (DBFHandle psDBF, int iRecord, int iField)
 
const char * DBFReadLogicalAttribute (DBFHandle psDBF, int iRecord, int iField)
 
SHPDate DBFReadDateAttribute (DBFHandle psDBF, int iRecord, int iField)
 
int DBFIsAttributeNULL (const DBFHandle psDBF, int iRecord, int iField)
 
int DBFGetFieldCount (const DBFHandle psDBF)
 
int DBFGetRecordCount (const DBFHandle psDBF)
 
DBFFieldType DBFGetFieldInfo (const DBFHandle psDBF, int iField, char *pszFieldName, int *pnWidth, int *pnDecimals)
 
int DBFWriteAttributeDirectly (DBFHandle psDBF, int hEntity, int iField, const void *pValue)
 
int DBFWriteDoubleAttribute (DBFHandle psDBF, int iRecord, int iField, double dValue)
 
int DBFWriteIntegerAttribute (DBFHandle psDBF, int iRecord, int iField, int nValue)
 
int DBFWriteStringAttribute (DBFHandle psDBF, int iRecord, int iField, const char *pszValue)
 
int DBFWriteNULLAttribute (DBFHandle psDBF, int iRecord, int iField)
 
int DBFWriteLogicalAttribute (DBFHandle psDBF, int iRecord, int iField, const char lValue)
 
int DBFWriteDateAttribute (DBFHandle psDBF, int iRecord, int iField, const SHPDate *lValue)
 
int DBFWriteTuple (DBFHandle psDBF, int hEntity, const void *pRawTuple)
 
const char * DBFReadTuple (DBFHandle psDBF, int hEntity)
 
DBFHandle DBFCloneEmpty (const DBFHandle psDBF, const char *pszFilename)
 
char DBFGetNativeFieldType (const DBFHandle psDBF, int iField)
 
int DBFGetFieldIndex (const DBFHandle psDBF, const char *pszFieldName)
 
int DBFIsRecordDeleted (const DBFHandle psDBF, int iShape)
 
int DBFMarkRecordDeleted (DBFHandle psDBF, int iShape, int bIsDeleted)
 
const char * DBFGetCodePage (const DBFHandle psDBF)
 
int DBFDeleteField (DBFHandle psDBF, int iField)
 
int DBFReorderFields (DBFHandle psDBF, const int *panMap)
 
int DBFAlterFieldDefn (DBFHandle psDBF, int iField, const char *pszFieldName, char chType, int nWidth, int nDecimals)
 
void DBFSetWriteEndOfFileChar (DBFHandle psDBF, int bWriteFlag)
 

Macro Definition Documentation

◆ CPL_IGNORE_RET_VAL_INT

#define CPL_IGNORE_RET_VAL_INT (   x)    x

Definition at line 68 of file dbfopen.c.

◆ CPLsnprintf

#define CPLsnprintf   snprintf

Definition at line 47 of file dbfopen.c.

◆ CPLsprintf

#define CPLsprintf   sprintf

Definition at line 46 of file dbfopen.c.

◆ END_OF_FILE_CHARACTER

#define END_OF_FILE_CHARACTER   0x1A

Definition at line 61 of file dbfopen.c.

◆ FALSE

#define FALSE   0

Definition at line 51 of file dbfopen.c.

◆ HEADER_RECORD_TERMINATOR

#define HEADER_RECORD_TERMINATOR   0x0D

Definition at line 58 of file dbfopen.c.

◆ STRCASECMP

#define STRCASECMP (   a,
  b 
)    (strcasecmp(a, b))

Definition at line 33 of file dbfopen.c.

◆ TRUE

#define TRUE   1

Definition at line 52 of file dbfopen.c.

◆ XBASE_FILEHDR_SZ

#define XBASE_FILEHDR_SZ   32

Definition at line 56 of file dbfopen.c.

Function Documentation

◆ DBFAddField()

int DBFAddField ( DBFHandle  psDBF,
const char *  pszFieldName,
DBFFieldType  eType,
int  nWidth,
int  nDecimals 
)

Definition at line 690 of file dbfopen.c.

References DBFAddNativeFieldType(), FTDate, FTLogical, and FTString.

◆ DBFAddNativeFieldType()

int DBFAddNativeFieldType ( DBFHandle  psDBF,
const char *  pszFieldName,
char  chType,
int  nWidth,
int  nDecimals 
)

Definition at line 734 of file dbfopen.c.

Referenced by DBFAddField().

◆ DBFAlterFieldDefn()

int DBFAlterFieldDefn ( DBFHandle  psDBF,
int  iField,
const char *  pszFieldName,
char  chType,
int  nWidth,
int  nDecimals 
)

Definition at line 1995 of file dbfopen.c.

References FALSE, and DBFInfo::nFields.

◆ DBFCloneEmpty()

◆ DBFClose()

void DBFClose ( DBFHandle  psDBF)

Definition at line 522 of file dbfopen.c.

References DBFInfo::bNoHeader, and SHPLIB_NULLPTR.

◆ DBFCreate()

DBFHandle DBFCreate ( const char *  pszFilename)

Definition at line 570 of file dbfopen.c.

References DBFCreateEx().

◆ DBFCreateEx()

DBFHandle DBFCreateEx ( const char *  pszFilename,
const char *  pszCodePage 
)

Definition at line 581 of file dbfopen.c.

References DBFCreateLL(), and SASetupDefaultHooks().

Referenced by DBFCreate().

◆ DBFCreateLL()

DBFHandle DBFCreateLL ( const char *  pszFilename,
const char *  pszCodePage,
const SAHooks psHooks 
)

Definition at line 597 of file dbfopen.c.

Referenced by DBFCloneEmpty(), and DBFCreateEx().

◆ DBFDeleteField()

int DBFDeleteField ( DBFHandle  psDBF,
int  iField 
)

Definition at line 1750 of file dbfopen.c.

References FALSE, and DBFInfo::nFields.

◆ DBFGetCodePage()

const char* DBFGetCodePage ( const DBFHandle  psDBF)

Definition at line 1737 of file dbfopen.c.

References SHPLIB_NULLPTR.

◆ DBFGetFieldCount()

int DBFGetFieldCount ( const DBFHandle  psDBF)

Definition at line 1152 of file dbfopen.c.

References DBFInfo::nFields.

Referenced by DBFGetFieldIndex().

◆ DBFGetFieldIndex()

int DBFGetFieldIndex ( const DBFHandle  psDBF,
const char *  pszFieldName 
)

◆ DBFGetFieldInfo()

DBFFieldType DBFGetFieldInfo ( const DBFHandle  psDBF,
int  iField,
char *  pszFieldName,
int *  pnWidth,
int *  pnDecimals 
)

◆ DBFGetNativeFieldType()

char DBFGetNativeFieldType ( const DBFHandle  psDBF,
int  iField 
)

Definition at line 1639 of file dbfopen.c.

References DBFInfo::pachFieldType.

◆ DBFGetRecordCount()

int DBFGetRecordCount ( const DBFHandle  psDBF)

Definition at line 1163 of file dbfopen.c.

References DBFInfo::nRecords.

◆ DBFIsAttributeNULL()

int DBFIsAttributeNULL ( const DBFHandle  psDBF,
int  iRecord,
int  iField 
)

Definition at line 1135 of file dbfopen.c.

References DBFReadStringAttribute(), SHPLIB_NULLPTR, and TRUE.

◆ DBFIsRecordDeleted()

int DBFIsRecordDeleted ( const DBFHandle  psDBF,
int  iShape 
)

Definition at line 1675 of file dbfopen.c.

References DBFInfo::nRecords, and TRUE.

◆ DBFMarkRecordDeleted()

int DBFMarkRecordDeleted ( DBFHandle  psDBF,
int  iShape,
int  bIsDeleted 
)

Definition at line 1699 of file dbfopen.c.

References FALSE, and DBFInfo::nRecords.

◆ DBFOpen()

DBFHandle DBFOpen ( const char *  pszFilename,
const char *  pszAccess 
)

Definition at line 296 of file dbfopen.c.

References DBFOpenLL(), and SASetupDefaultHooks().

◆ DBFOpenLL()

DBFHandle DBFOpenLL ( const char *  pszFilename,
const char *  pszAccess,
const SAHooks psHooks 
)

Definition at line 327 of file dbfopen.c.

References SHPLIB_NULLPTR.

Referenced by DBFOpen().

◆ DBFReadDateAttribute()

SHPDate DBFReadDateAttribute ( DBFHandle  psDBF,
int  iRecord,
int  iField 
)

Definition at line 1053 of file dbfopen.c.

References STATIC_CAST.

◆ DBFReadDoubleAttribute()

double DBFReadDoubleAttribute ( DBFHandle  psDBF,
int  iRecord,
int  iField 
)

Definition at line 1009 of file dbfopen.c.

References STATIC_CAST.

◆ DBFReadIntegerAttribute()

int DBFReadIntegerAttribute ( DBFHandle  psDBF,
int  iRecord,
int  iField 
)

Definition at line 991 of file dbfopen.c.

References STATIC_CAST.

◆ DBFReadLogicalAttribute()

const char* DBFReadLogicalAttribute ( DBFHandle  psDBF,
int  iRecord,
int  iField 
)

Definition at line 1041 of file dbfopen.c.

References STATIC_CAST.

◆ DBFReadStringAttribute()

const char* DBFReadStringAttribute ( DBFHandle  psDBF,
int  iRecord,
int  iField 
)

Definition at line 1028 of file dbfopen.c.

References STATIC_CAST.

Referenced by DBFIsAttributeNULL().

◆ DBFReadTuple()

const char* DBFReadTuple ( DBFHandle  psDBF,
int  hEntity 
)

Definition at line 1561 of file dbfopen.c.

References SHPLIB_NULLPTR.

◆ DBFReorderFields()

int DBFReorderFields ( DBFHandle  psDBF,
const int *  panMap 
)

Definition at line 1875 of file dbfopen.c.

References DBFInfo::nFields, and TRUE.

◆ DBFSetLastModifiedDate()

void DBFSetLastModifiedDate ( DBFHandle  psDBF,
int  nYYSince1900,
int  nMM,
int  nDD 
)

◆ DBFSetWriteEndOfFileChar()

void DBFSetWriteEndOfFileChar ( DBFHandle  psDBF,
int  bWriteFlag 
)

Definition at line 2232 of file dbfopen.c.

References DBFInfo::bWriteEndOfFileChar.

◆ DBFUpdateHeader()

void DBFUpdateHeader ( DBFHandle  psDBF)

Definition at line 248 of file dbfopen.c.

References DBFInfo::bNoHeader.

◆ DBFWriteAttributeDirectly()

int DBFWriteAttributeDirectly ( DBFHandle  psDBF,
int  hEntity,
int  iField,
const void *  pValue 
)

Definition at line 1350 of file dbfopen.c.

References DBFInfo::bNoHeader, FALSE, and DBFInfo::nRecords.

Referenced by DBFWriteDateAttribute().

◆ DBFWriteDateAttribute()

int DBFWriteDateAttribute ( DBFHandle  psDBF,
int  iRecord,
int  iField,
const SHPDate lValue 
)

◆ DBFWriteDoubleAttribute()

int DBFWriteDoubleAttribute ( DBFHandle  psDBF,
int  iRecord,
int  iField,
double  dValue 
)

Definition at line 1419 of file dbfopen.c.

◆ DBFWriteIntegerAttribute()

int DBFWriteIntegerAttribute ( DBFHandle  psDBF,
int  iRecord,
int  iField,
int  nValue 
)

Definition at line 1432 of file dbfopen.c.

◆ DBFWriteLogicalAttribute()

int DBFWriteLogicalAttribute ( DBFHandle  psDBF,
int  iRecord,
int  iField,
const char  lValue 
)

Definition at line 1472 of file dbfopen.c.

◆ DBFWriteNULLAttribute()

int DBFWriteNULLAttribute ( DBFHandle  psDBF,
int  iRecord,
int  iField 
)

Definition at line 1461 of file dbfopen.c.

◆ DBFWriteStringAttribute()

int DBFWriteStringAttribute ( DBFHandle  psDBF,
int  iRecord,
int  iField,
const char *  pszValue 
)

Definition at line 1447 of file dbfopen.c.

◆ DBFWriteTuple()

int DBFWriteTuple ( DBFHandle  psDBF,
int  hEntity,
const void *  pRawTuple 
)

Definition at line 1510 of file dbfopen.c.

References DBFInfo::bNoHeader, FALSE, and DBFInfo::nRecords.