?? avc.h
字號:
double dHeight; double dV2; /* ??? */ double dV3; /* ??? */ char *pszText; AVCVertex *pasVertices;}AVCTxt;/*--------------------------------------------------------------------- * AVCRxp: Information about a RXP record (something related to regions...) *--------------------------------------------------------------------*/typedef struct AVCRxp_t{ GInt32 n1; GInt32 n2;}AVCRxp;/*--------------------------------------------------------------------- * AVCTableDef: Definition of an INFO table's structure. * This info is read from several files: * info/arc.dir * info/arc####.dat * info/arc####.nit * * And the data for the table itself is stored in a binary * file in the coverage directory. *--------------------------------------------------------------------*/typedef struct AVCFieldInfo_t{ char szName[17]; GInt16 nSize; GInt16 v2; GInt16 nOffset; GInt16 v4; GInt16 v5; GInt16 nFmtWidth; GInt16 nFmtPrec; GInt16 nType1; GInt16 nType2; GInt16 v10; GInt16 v11; GInt16 v12; GInt16 v13; char szAltName[17]; GInt16 nIndex; /* >0 if valid, or -1 if field is deleted */}AVCFieldInfo;#define AVC_FT_DATE 10#define AVC_FT_CHAR 20#define AVC_FT_FIXINT 30#define AVC_FT_FIXNUM 40#define AVC_FT_BININT 50#define AVC_FT_BINFLOAT 60typedef struct AVCTableDef_t{ /* Stuff read from the arc.dir file * (1 record, corresponding to this table, from the arc.dir file) */ char szTableName[33]; char szInfoFile[9]; GInt16 numFields; GInt16 nRecSize; GInt32 numRecords; char szExternal[3]; /* "XX" or " " */ GInt16 bDeletedFlag; /* 1 if deleted, 0 if table is active */ /* Data file path read from the arc####.dat file */ char szDataFile[81]; /* Field information read from the arc####.nit file */ AVCFieldInfo *pasFieldDef;}AVCTableDef;typedef struct AVCField_t{ GInt16 nInt16; GInt32 nInt32; float fFloat; double dDouble; char *pszStr;}AVCField;/*--------------------------------------------------------------------- * Stuff related to buffered reading of raw binary files *--------------------------------------------------------------------*/#define AVCRAWBIN_READBUFSIZE 1024typedef struct AVCRawBinFile_t{ FILE *fp; char *pszFname; AVCAccess eAccess; AVCByteOrder eByteOrder; GByte abyBuf[AVCRAWBIN_READBUFSIZE]; int nOffset; /* Location of current buffer in the file */ int nCurSize; /* Nbr of bytes currently loaded */ int nCurPos; /* Next byte to read from abyBuf[] */ int nFileDataSize; /* File Size as stated in the header */ /* EOF=TRUE passed this point in file */ /* Set to -1 if not specified. */ /* Handle on dataset's multibyte character encoding info. */ AVCDBCSInfo *psDBCSInfo;}AVCRawBinFile;/*--------------------------------------------------------------------- * Stuff related to reading and writing binary coverage files *--------------------------------------------------------------------*/typedef struct AVCBinHeader_t{ GUInt32 nSignature; GInt32 nPrecision; /* <0 for double prec., >0 for single prec. */ GInt32 nRecordSize; /* nbr of 2 byte words, 0 for var. length */ GInt32 nLength; /* Overall file length, in 2 byte words */}AVCBinHeader;typedef struct AVCBinFile_t{ AVCRawBinFile *psRawBinFile; char *pszFilename; AVCRawBinFile *psIndexFile; /* Index file, Write mode only */ DBFHandle hDBFFile; /* Used for AVCCoverPC/PC2 DBF TABLES only */ int nCurDBFRecord; /* 0-based record index in DBF file */ AVCCoverType eCoverType; AVCFileType eFileType; int nPrecision; /* AVC_SINGLE/DOUBLE_PREC */ union { AVCTableDef *psTableDef; }hdr; /* cur.* : temp. storage used to read one record (ARC, PAL, ... or * Table record) from the file. */ union { AVCArc *psArc; AVCPal *psPal; AVCCnt *psCnt; AVCLab *psLab; AVCTol *psTol; AVCTxt *psTxt; AVCRxp *psRxp; AVCField *pasFields; char **papszPrj; }cur;}AVCBinFile;/*--------------------------------------------------------------------- * Stuff related to the generation of E00 *--------------------------------------------------------------------*//*--------------------------------------------------------------------- * AVCE00GenInfo structure * This structure is used by the E00 generator functions to store * their buffer and their current state in case they need to be * called more than once for a given object type (i.e. ARC, PAL and IFO). *--------------------------------------------------------------------*/typedef struct AVCE00GenInfo_t{ char *pszBuf; int nBufSize; int nPrecision; /* AVC_SINGLE/DOUBLE_PREC */ int iCurItem; int numItems;}AVCE00GenInfo;/*--------------------------------------------------------------------- * Stuff related to the parsing of E00 *--------------------------------------------------------------------*//*--------------------------------------------------------------------- * AVCE00ParseInfo structure * This structure is used by the E00 parser functions to store * their buffer and their current state while parsing an object. *--------------------------------------------------------------------*/typedef struct AVCE00ParseInfo_t{ AVCFileType eFileType; int nPrecision; /* AVC_SINGLE/DOUBLE_PREC */ int iCurItem; int numItems; int nStartLineNum; int nCurLineNum; int nCurObjectId; GBool bForceEndOfSection; /* For sections that don't have an */ /* explicit end-of-section line. */ AVCFileType eSuperSectionType;/* For sections containing several files*/ char *pszSectionHdrLine; /* Used by supersection types */ union { AVCTableDef *psTableDef; }hdr; GBool bTableHdrComplete; /* FALSE until table header is */ /* finished parsing */ int nTableE00RecLength; /* cur.* : temp. storage used to store current object (ARC, PAL, ... or * Table record) from the file. */ union { AVCArc *psArc; AVCPal *psPal; AVCCnt *psCnt; AVCLab *psLab; AVCTol *psTol; AVCTxt *psTxt; AVCRxp *psRxp; AVCField *pasFields; char **papszPrj; }cur; char *pszBuf; /* Buffer used only for TABLEs */ int nBufSize;}AVCE00ParseInfo;/*--------------------------------------------------------------------- * Stuff related to the transparent binary -> E00 conversion *--------------------------------------------------------------------*/typedef struct AVCE00Section_t{ AVCFileType eType; /* File Type */ char *pszName; /* E00 section or Table Name */ char *pszFilename; /* Binary/E00 file filename */ int nLineNum; /* E00 line number */ int nFeatureCount;}AVCE00Section;typedef struct AVCE00ReadInfo_t{ char *pszCoverPath; char *pszInfoPath; char *pszCoverName; AVCCoverType eCoverType; /* pasSections is built when the coverage is opened and describes * the squeleton of the E00 file. */ AVCE00Section *pasSections; int numSections; /* If bReadAllSections=TRUE then reading automatically continues to * the next section when a section finishes. (This is the default) * Otherwise, you can use AVCE00ReadGotoSection() to read one section * at a time... this will set bReadAllSections=FALSE. */ GBool bReadAllSections; /* Info about the file (or E00 section) currently being processed */ int iCurSection; AVCBinFile *hFile; int iCurStep; /* AVC_GEN_* values, see below */ AVCE00GenInfo *hGenInfo; /* Info related to multibyte character encoding */ AVCDBCSInfo *psDBCSInfo;} *AVCE00ReadPtr;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -