*** empty log message ***
This commit is contained in:
@@ -1,7 +1,32 @@
|
||||
19990731-06:50 CET Victor Szel <info@szelvesz.hu>
|
||||
* include/extend.h
|
||||
include/hbdefs.h
|
||||
include/errorapi.h
|
||||
More small cleanups, additions.
|
||||
+ include/clipdefs.h
|
||||
Added Clipper compatible header file. (not tested)
|
||||
+ include/*.api - Added a file description line.
|
||||
Added a line which warns users not to use these
|
||||
files for new Harbour code.
|
||||
+ include/caundoc.api - Contains undocumented API declarations
|
||||
(only wrappers as of now).
|
||||
Original idea by Bruno Cantero <bruno@issnet.net>.
|
||||
* include/rdd.api most of the content moved to include/rddapi.h
|
||||
source\rdd\dbfntx\dbfntx1.c
|
||||
source\rdd\dbcmd.c
|
||||
source\rdd\dbf1.c
|
||||
source\rdd\delim1.c
|
||||
source\rdd\sdf1.c
|
||||
*.api files are for compatibility only, not for
|
||||
new harbour code.
|
||||
+ doc/hdr_tpl.txt - Small modification RCS ID and licenc part
|
||||
of the header separated.
|
||||
* include/*.* - Standardized (again) RCS ID and licenc headers.
|
||||
|
||||
19990731-06:40 GMT+2 Ryszard Glaaab <rglab@imid.med.pl>
|
||||
*source/compiler/harbour.y
|
||||
* PUBLIC and PRIVATE variables referenced inside a codeblock
|
||||
can be used to initiialize a staatic variables
|
||||
can be used to initialize a static variables
|
||||
|
||||
19990731-06:00 CET Victor Szel <info@szelvesz.hu>
|
||||
+ include/achoice.ch
|
||||
|
||||
@@ -4,8 +4,11 @@
|
||||
FILE HEADER TEMPLATE
|
||||
====================
|
||||
|
||||
/* $Id$
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
Harbour Project source code
|
||||
|
||||
(one/two-liner description about the purpose of this source file)
|
||||
@@ -35,6 +38,8 @@ FILE HEADER TEMPLATE
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA (or visit
|
||||
their web site at http://www.gnu.org/).
|
||||
|
||||
V 1.6 Victor Szel RCS Id section separated from
|
||||
Licenc text.
|
||||
V 1.5 Victor Szel Small name correction.
|
||||
V 1.4 David G. Holm Removed "(C)" from Copyright notice
|
||||
Put author's name rather than date
|
||||
|
||||
28
harbour/include/caundoc.api
Normal file
28
harbour/include/caundoc.api
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/* CA-Cl*pper API Compatibility Header File */
|
||||
/* DON'T USE THIS FILE FOR NEW HARBOUR C CODE */
|
||||
|
||||
/* This file contains widely used but undocumented APIs */
|
||||
|
||||
#ifndef HB_CAUNDOC_API_
|
||||
#define HB_CAUNDOC_API_
|
||||
|
||||
/* Undocumented TSUPPORT API */
|
||||
|
||||
#include "filesys.h"
|
||||
|
||||
#define _tcreat hb_fsCreate
|
||||
#define _tunlink hb_fsDelete
|
||||
#define _topen hb_fsOpen
|
||||
#define _tclose hb_fsClose
|
||||
#define _tread hb_fsRead
|
||||
#define _twrite hb_fsWrite
|
||||
#define _tlseek hb_fsSeek
|
||||
#define _trename hb_fsRename
|
||||
#define _tlock hb_fsLock
|
||||
#define _tcommit hb_fsCommit
|
||||
|
||||
#endif /* HB_CAUNDOC_API_ */
|
||||
@@ -1,5 +1,8 @@
|
||||
/* $Id$
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
Harbour classes commands
|
||||
|
||||
Copyright(C) 1999 by Antonio Linares.
|
||||
|
||||
75
harbour/include/clipdefs.h
Normal file
75
harbour/include/clipdefs.h
Normal file
@@ -0,0 +1,75 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/* CA-Cl*pper Compatibility Header File */
|
||||
/* DON'T USE THIS FILE FOR NEW HARBOUR C CODE */
|
||||
|
||||
/* This file is provided to support some level of */
|
||||
/* Harbour compatibility for old Clipper C extension code */
|
||||
|
||||
#ifndef HB_CLIPDEFS_H_
|
||||
#define HB_CLIPDEFS_H_
|
||||
|
||||
#include "hbdefs.h"
|
||||
|
||||
/* old types */
|
||||
typedef BYTE byte;
|
||||
typedef USHORT quant;
|
||||
typedef BOOL Boolean;
|
||||
|
||||
/* new types */
|
||||
typedef BYTE* BYTEP;
|
||||
typedef BYTEP PBYTE;
|
||||
typedef BYTEP BYTEPP;
|
||||
|
||||
typedef SHORT* SHORTP;
|
||||
typedef SHORTP PSHORT;
|
||||
|
||||
typedef USHORT* USHORTP;
|
||||
typedef USHORTP PUSHORT;
|
||||
|
||||
typedef WORD* WORDP;
|
||||
typedef WORDP PWORD;
|
||||
|
||||
typedef LONG* LONGP;
|
||||
typedef LONGP PLONG;
|
||||
|
||||
typedef ULONG* ULONGP;
|
||||
typedef ULONGP PULONG;
|
||||
|
||||
typedef DWORD* DWORDP;
|
||||
typedef DWORDP PDWORD;
|
||||
|
||||
typedef BOOL* BOOLP;
|
||||
typedef BOOLP PBOOL;
|
||||
|
||||
typedef void* NEARP;
|
||||
typedef NEARP* NEARPP;
|
||||
|
||||
typedef void* FARP;
|
||||
typedef FARP* FARPP;
|
||||
|
||||
typedef FARP VOIDP;
|
||||
typedef FARP PVOID;
|
||||
|
||||
typedef void* HANDLE;
|
||||
typedef USHORT ERRCODE;
|
||||
typedef ERRCODE IHELP;
|
||||
typedef ERRCODE ICODE;
|
||||
|
||||
/* default func ptr -- USHORT return, USHORT param */
|
||||
typedef USHORT (far * FUNCP)(USHORT param, ...);
|
||||
typedef FUNCP* FUNCPP;
|
||||
|
||||
#define HIDE static
|
||||
#define CLIPPER HARBOUR
|
||||
|
||||
#ifndef NIL
|
||||
#define NIL '\0'
|
||||
#endif
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
#endif /* HB_CLIPDEFS_H_ */
|
||||
@@ -1,6 +1,8 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright(C) 1999 by Antonio Linares.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright(C) 1999 by Antonio Linares.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/* CA-Cl*pper API Compatibility Header File */
|
||||
/* DON'T USE THIS FILE FOR NEW HARBOUR C CODE */
|
||||
|
||||
#ifndef HB_ERROR_API_
|
||||
#define HB_ERROR_API_
|
||||
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/* CA-Cl*pper API Compatibility Header File */
|
||||
/* DON'T USE THIS FILE FOR NEW HARBOUR C CODE */
|
||||
|
||||
#ifndef HB_EXTEND_API_
|
||||
#define HB_EXTEND_API_
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
/*
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright(C) 1999 by Antonio Linares.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@@ -20,7 +22,7 @@
|
||||
675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
You can contact me at: alinares@fivetech.com
|
||||
*/
|
||||
*/
|
||||
|
||||
#ifndef HB_EXTEND_H_
|
||||
#define HB_EXTEND_H_
|
||||
@@ -32,6 +34,12 @@
|
||||
#include "hbdefs.h"
|
||||
#include "hbsetup.h"
|
||||
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
/* Clipper includes these from its extend.h */
|
||||
#include "extend.api"
|
||||
#include "fm.api"
|
||||
#endif
|
||||
|
||||
struct _DYNSYM; /* forward declaration */
|
||||
|
||||
typedef struct /* symbol support structure */
|
||||
@@ -84,101 +92,101 @@ struct _HB_VALUE;
|
||||
/* Internal structures that holds data */
|
||||
struct hb_struArray
|
||||
{
|
||||
struct _HB_BASEARRAY * value;
|
||||
struct _HB_BASEARRAY * value;
|
||||
};
|
||||
|
||||
struct hb_struBlock
|
||||
{
|
||||
LONG statics;
|
||||
WORD lineno;
|
||||
WORD paramcnt;
|
||||
struct _HB_CODEBLOCK * value;
|
||||
LONG statics;
|
||||
WORD lineno;
|
||||
WORD paramcnt;
|
||||
struct _HB_CODEBLOCK * value;
|
||||
};
|
||||
|
||||
struct hb_struDate
|
||||
{
|
||||
WORD length;
|
||||
LONG value;
|
||||
WORD length;
|
||||
LONG value;
|
||||
};
|
||||
|
||||
struct hb_struDouble
|
||||
{
|
||||
WORD length;
|
||||
WORD decimal;
|
||||
double value;
|
||||
WORD length;
|
||||
WORD decimal;
|
||||
double value;
|
||||
};
|
||||
|
||||
struct hb_struInteger
|
||||
{
|
||||
WORD length;
|
||||
WORD decimal;
|
||||
int value;
|
||||
WORD length;
|
||||
WORD decimal;
|
||||
int value;
|
||||
};
|
||||
|
||||
struct hb_struLogical
|
||||
{
|
||||
WORD length;
|
||||
WORD value;
|
||||
WORD length;
|
||||
WORD value;
|
||||
};
|
||||
|
||||
struct hb_struLong
|
||||
{
|
||||
WORD length;
|
||||
WORD decimal;
|
||||
long value;
|
||||
WORD length;
|
||||
WORD decimal;
|
||||
long value;
|
||||
};
|
||||
|
||||
struct hb_struMemvar
|
||||
{
|
||||
struct _HB_VALUE * *itemsbase;
|
||||
LONG offset;
|
||||
LONG value;
|
||||
struct _HB_VALUE * *itemsbase;
|
||||
LONG offset;
|
||||
LONG value;
|
||||
};
|
||||
|
||||
struct hb_struPointer
|
||||
{
|
||||
PVOID value;
|
||||
PVOID value;
|
||||
};
|
||||
|
||||
struct hb_struRefer
|
||||
{
|
||||
struct _HB_ITEM * *itemsbase;
|
||||
LONG offset;
|
||||
LONG value;
|
||||
struct _HB_ITEM * *itemsbase;
|
||||
LONG offset;
|
||||
LONG value;
|
||||
};
|
||||
|
||||
struct hb_struString
|
||||
{
|
||||
ULONG length;
|
||||
char *value;
|
||||
ULONG length;
|
||||
char *value;
|
||||
};
|
||||
|
||||
struct hb_struSymbol
|
||||
{
|
||||
LONG stackbase;
|
||||
WORD lineno;
|
||||
WORD paramcnt;
|
||||
PSYMBOL value;
|
||||
LONG stackbase;
|
||||
WORD lineno;
|
||||
WORD paramcnt;
|
||||
PSYMBOL value;
|
||||
};
|
||||
|
||||
typedef struct _HB_ITEM /* items hold at the virtual machine stack */
|
||||
{
|
||||
WORD type;
|
||||
union
|
||||
{
|
||||
struct hb_struArray asArray;
|
||||
struct hb_struBlock asBlock;
|
||||
struct hb_struDate asDate;
|
||||
struct hb_struDouble asDouble;
|
||||
struct hb_struInteger asInteger;
|
||||
struct hb_struLogical asLogical;
|
||||
struct hb_struLong asLong;
|
||||
struct hb_struMemvar asMemvar;
|
||||
struct hb_struPointer asPointer;
|
||||
struct hb_struRefer asRefer;
|
||||
struct hb_struString asString;
|
||||
struct hb_struSymbol asSymbol;
|
||||
} item;
|
||||
WORD type;
|
||||
union
|
||||
{
|
||||
struct hb_struArray asArray;
|
||||
struct hb_struBlock asBlock;
|
||||
struct hb_struDate asDate;
|
||||
struct hb_struDouble asDouble;
|
||||
struct hb_struInteger asInteger;
|
||||
struct hb_struLogical asLogical;
|
||||
struct hb_struLong asLong;
|
||||
struct hb_struMemvar asMemvar;
|
||||
struct hb_struPointer asPointer;
|
||||
struct hb_struRefer asRefer;
|
||||
struct hb_struString asString;
|
||||
struct hb_struSymbol asSymbol;
|
||||
} item;
|
||||
}
|
||||
HB_ITEM, *PHB_ITEM;
|
||||
typedef PHB_ITEM HB_ITEM_PTR;
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
/* $Id$
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
Harbour Project source code
|
||||
|
||||
This module contains the defines needed for Harbour programs to use
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
/* $Id$
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
Harbour Project source code
|
||||
|
||||
This module contains Clipper to Harbour conversions for FILE management.
|
||||
@@ -39,6 +42,9 @@
|
||||
V 1.0 David G. Holm Initial version.
|
||||
*/
|
||||
|
||||
/* CA-Cl*pper API Compatibility Header File */
|
||||
/* DON'T USE THIS FILE FOR NEW HARBOUR C CODE */
|
||||
|
||||
#ifndef HB_FILESYS_API_
|
||||
#define HB_FILESYS_API_
|
||||
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
/* $Id$
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
Harbour Project source code
|
||||
|
||||
This module contains the Harbour declarations for FILE management.
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/* CA-Cl*pper API Compatibility Header File */
|
||||
/* DON'T USE THIS FILE FOR NEW HARBOUR C CODE */
|
||||
|
||||
#ifndef HB_FM_API_
|
||||
#define HB_FM_API_
|
||||
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/* CA-Cl*pper API Compatibility Header File */
|
||||
/* DON'T USE THIS FILE FOR NEW HARBOUR C CODE */
|
||||
|
||||
#ifndef HB_GT_API_
|
||||
#define HB_GT_API_
|
||||
|
||||
|
||||
@@ -32,6 +32,9 @@
|
||||
|
||||
#if ! defined(HB_DONT_DEFINE_BASIC_TYPES)
|
||||
|
||||
#undef PVOID
|
||||
typedef void * PVOID;
|
||||
|
||||
#undef BYTE
|
||||
typedef unsigned char BYTE, * PBYTE; /* 1 byte unsigned */
|
||||
|
||||
@@ -46,19 +49,20 @@ typedef unsigned short int USHORT;
|
||||
|
||||
#undef LONG /* 4 bytes signed */
|
||||
typedef long LONG;
|
||||
|
||||
#undef ULONG /* 4 bytes signed */
|
||||
typedef unsigned long ULONG;
|
||||
|
||||
#undef DWORD /* 4 bytes unsigned */
|
||||
typedef unsigned long DWORD;
|
||||
|
||||
#undef BOOL /* boolean */
|
||||
typedef int BOOL;
|
||||
|
||||
#undef FALSE
|
||||
#undef TRUE
|
||||
#define FALSE 0
|
||||
#define TRUE 1
|
||||
typedef int BOOL;
|
||||
|
||||
#undef PVOID
|
||||
typedef void * PVOID;
|
||||
|
||||
#ifndef MAX
|
||||
#define MAX(a,b) (((a) > (b)) ? (a) : (b))
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
Harbour Project source code
|
||||
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
/*
|
||||
Harbour Project source code
|
||||
*/
|
||||
|
||||
Harbour compiler and runtime configuration file
|
||||
/*
|
||||
Harbour Project source code
|
||||
|
||||
Harbour compiler and runtime configuration file
|
||||
|
||||
Copyright 1999 Ryszard Glab
|
||||
www - http://www.harbour-project.org
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
/* $Id$
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
Harbour Project source code
|
||||
|
||||
Defines the version information that can be queried via HB_VERSION()
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
/* $Id$
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
Harbour Project source code
|
||||
|
||||
This module contains the Harbour declarations for INKEY management.
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/* CA-Cl*pper API Compatibility Header File */
|
||||
/* DON'T USE THIS FILE FOR NEW HARBOUR C CODE */
|
||||
|
||||
#ifndef HB_ITEM_API_
|
||||
#define HB_ITEM_API_
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright(C) 1999 by Antonio Linares.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright(C) 1999 by Antonio Linares.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
|
||||
@@ -2,987 +2,12 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/* CA-Cl*pper API Compatibility Header File */
|
||||
/* DON'T USE THIS FILE FOR NEW HARBOUR C CODE */
|
||||
|
||||
#ifndef HB_RDD_API_
|
||||
#define HB_RDD_API_
|
||||
|
||||
typedef PBYTE BYTEP;
|
||||
|
||||
typedef USHORT ERRCODE;
|
||||
|
||||
// RDD method return codes
|
||||
|
||||
#define SUCCESS 0
|
||||
#define FAILURE 1
|
||||
|
||||
// Flags for DBTRANSINFO
|
||||
|
||||
#define DBTF_MATCH 0x0001
|
||||
#define DBTF_PUTREC 0x0002
|
||||
|
||||
// Codes for Locking methods
|
||||
|
||||
#define DBLM_EXCLUSIVE 1
|
||||
#define DBLM_MULTIPLE 2
|
||||
#define DBLM_FILE 3
|
||||
|
||||
// Codes for SELF_ORDINFO()
|
||||
|
||||
#define DBOI_CONDITION 1 // Get the order condition
|
||||
#define DBOI_EXPRESSION 2 // Get the order expression
|
||||
#define DBOI_POSITION 3 // Get the order position
|
||||
#define DBOI_RECNO 4 // Get the order record number
|
||||
#define DBOI_NAME 5 // Get the order list name
|
||||
#define DBOI_NUMBER 6 // Get the order list position
|
||||
#define DBOI_BAGNAME 7 // Get the order Bag name
|
||||
#define DBOI_BAGEXT 8 // Get the order Bag Extension
|
||||
#define DBOI_INDEXEXT DBOI_BAGEXT
|
||||
#define DBOI_INDEXNAME DBOI_BAGNAME
|
||||
#define DBOI_ORDERCOUNT 9 // Get the number of orders in the index file
|
||||
#define DBOI_FILEHANDLE 10 // Get the handle of the index file
|
||||
#define DBOI_ISCOND 11 // Get the flag if the order has a for condition
|
||||
#define DBOI_ISDESC 12 // Get the flag if the order is descending
|
||||
#define DBOI_UNIQUE 13 // Get the flag if the order has the unique attribute set
|
||||
|
||||
// Codes for SELF_INFO()
|
||||
|
||||
#define DBI_ISDBF 1 // Logical: RDD support DBF file format?
|
||||
#define DBI_CANPUTREC 2 // Logical: RDD support Putting Records?
|
||||
#define DBI_GETHEADERSIZE 3 // Numeric: Get header size of the file
|
||||
#define DBI_LASTUPDATE 4 // Date: Last date RDD file updated
|
||||
#define DBI_GETDELIMITER 5 // String: Get default delimiter
|
||||
#define DBI_SETDELIMITER 6 // String: Set default delimiter
|
||||
#define DBI_GETRECSIZE 7 // Numeric: Get record size of the file
|
||||
#define DBI_GETLOCKARRAY 8 // Array: Get an array of locked records
|
||||
#define DBI_TABLEEXT 9 // String: Get table file extension
|
||||
|
||||
#define DBI_ISFLOCK 20 // Get file lock status
|
||||
|
||||
#define DBI_CHILDCOUNT 22 // Number of opened relations
|
||||
#define DBI_FILEHANDLE 23 // Handle of opened file
|
||||
|
||||
#define DBI_BOF 26 // BOF flag - alternate to bof()
|
||||
#define DBI_EOF 27 // EOF flag - alternate to eof()
|
||||
#define DBI_DBFILTER 28 // Filter expression
|
||||
#define DBI_FOUND 29 // FOUND flag - alternate to found
|
||||
#define DBI_FCOUNT 30 // Number of fields
|
||||
#define DBI_LOCKCOUNT 31 // Get record size of the file
|
||||
#define DBI_VALIDBUFFER 32 // Is the current buffer valid
|
||||
#define DBI_ALIAS 33 // Alias name of workarea
|
||||
#define DBI_GETSCOPE 34 // Locate codeblock
|
||||
#define DBI_LOCKOFFSET 35 // New locking offset
|
||||
#define DBI_SHARED 36 // Gets/Sets the shared flag
|
||||
|
||||
#define DBI_MEMOEXT 37 // Gets/Sets the shared flag
|
||||
#define DBI_MEMOHANDLE 38 // Dos handle for memo file
|
||||
#define DBI_MEMOBLOCKSIZE 39 // Blocksize in memo files
|
||||
|
||||
#define DBI_DB_VERSION 101 // HOST driver Version
|
||||
#define DBI_RDD_VERSION 102 // RDD version (current RDD)
|
||||
|
||||
#define DBI_USER 1000 // Start of user definable DBI_ values
|
||||
|
||||
// codes for SELF_RECINFO()
|
||||
|
||||
#define DBRI_DELETED 1
|
||||
#define DBRI_LOCKED 2
|
||||
#define DBRI_RECSIZE 3
|
||||
#define DBRI_RECNO 4
|
||||
#define DBRI_UPDATED 5
|
||||
|
||||
|
||||
// codes for SELF_FIELDINFO()
|
||||
|
||||
#define DBS_NAME 1
|
||||
#define DBS_TYPE 2
|
||||
#define DBS_LEN 3
|
||||
#define DBS_DEC 4
|
||||
|
||||
// codes for RawLock types
|
||||
|
||||
#define FILE_LOCK 1
|
||||
#define FILE_UNLOCK 2
|
||||
#define REC_LOCK 3
|
||||
#define REC_UNLOCK 4
|
||||
#define HEADER_LOCK 5
|
||||
#define HEADER_UNLOCK 6
|
||||
#define APPEND_LOCK 7
|
||||
#define APPEND_UNLOCK 8
|
||||
|
||||
|
||||
/*
|
||||
* DBFIELDINFO
|
||||
* -----------
|
||||
* The field structure
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// BYTEP atomName; // Nombre de campo (s¡mbolo)
|
||||
// USHORT uiType; // Tipo de campo
|
||||
// USHORT typeExtended; // Tipo extendido de campo
|
||||
// USHORT uiLen; // Logitud total del campo
|
||||
// USHORT uiDec; // Lugares decimales para campos num‚ricos
|
||||
//} DBFIELDINFO;
|
||||
|
||||
//typedef DBFIELDINFO far * LPDBFIELDINFO;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DBOPENINFO
|
||||
* ----------
|
||||
* La estructura de los campos abiertos
|
||||
*/
|
||||
|
||||
typedef struct
|
||||
{
|
||||
USHORT uiArea; // N£mero de rea de trabajo del almacenamiento de datos
|
||||
PBYTE abName; // El nombre cualificado del almacenamiento de campos
|
||||
PBYTE atomAlias; // El nombre l¢gico del almacenamiento de campos
|
||||
BOOL fShared; // Modo compartido del almacenamiento de campos
|
||||
BOOL fReadonly; // Modo de s¢lo lectura del almacenamiento de campos
|
||||
|
||||
// FARP lpdbHeader; // Puntero a la cabecera del almacenamiento de campos
|
||||
} DBOPENINFO, * DBOPENINFOP;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DBORDERCONDINFO
|
||||
* ---------------
|
||||
* La estructura de creaci¢n condicional de orden
|
||||
*/
|
||||
|
||||
//typedef struct _DBORDERCONDINFO
|
||||
//{
|
||||
// BOOL fActive;
|
||||
// BYTEP abFor;
|
||||
// ITEM itmCobFor;
|
||||
// ITEM itmCobWhile;
|
||||
// ITEM itmCobEval;
|
||||
// LONG lStep;
|
||||
// LONG lStartRecno;
|
||||
// LONG lNextCount;
|
||||
// LONG lRecno;
|
||||
// BOOL fRest;
|
||||
// BOOL fDescending;
|
||||
// BOOL fScoped;
|
||||
// BOOL fAll;
|
||||
|
||||
// BOOL fAdditive;
|
||||
// BOOL fUseCurrent;
|
||||
// BOOL fCustom;
|
||||
// BOOL fNoOptimize;
|
||||
// FARP lpvCargo;
|
||||
|
||||
//} DBORDERCONDINFO;
|
||||
|
||||
//typedef DBORDERCONDINFO far * LPDBORDERCONDINFO;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DBORDERCREATE
|
||||
* -------------
|
||||
* La estructura de creaci¢n de orden
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// LPDBORDERCONDINFO lpdbOrdCondInfo; // Informaci¢n condicional
|
||||
// BYTEP abBagName; // Nombre del contenedor de ¢rdenes
|
||||
// BYTEP atomBagName; //
|
||||
// ITEM itmOrder; //
|
||||
// BOOL fUnique; // Indicador que determina si todas
|
||||
// las claves con £nicas
|
||||
|
||||
// ITEM itmCobExpr; // Bloque de c¢digo conteniendo la
|
||||
// expresi¢n clave
|
||||
// ITEM abExpr; // Cadena conteniendo la expresi¢n clave
|
||||
//} DBORDERCREATEINFO;
|
||||
|
||||
//typedef DBORDERCREATEINFO far * LPDBORDERCREATEINFO;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DBORDERINFO
|
||||
* -----------
|
||||
* La estructura de Set Index
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// ITEM atomBagName; // Nombre del contenedor de ¢rdenes
|
||||
// ITEM itmOrder; // Nombre o n£mero de la orden
|
||||
|
||||
// ITEM itmCobExpr; // Bloque de c¢digo conteniendo la expresi¢n clave
|
||||
|
||||
// ITEM itmResult; // Resultado de la operaci¢n
|
||||
|
||||
// BOOL fAllTags; // Indicador de todos los tags a abrir
|
||||
|
||||
//} DBORDERINFO;
|
||||
|
||||
//typedef DBORDERINFO far * LPDBORDERINFO;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DBSCOPEINFO
|
||||
* -----------
|
||||
* La estructura de mbito
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// ITEM itmCobFor; // Bloque de c¢digo representaci¢n de una cl usula FOR
|
||||
// ITEM lpstrFor; // Cadena representaci¢n de una cl usula FOR
|
||||
// ITEM itmCobWhile; // Bloque de c¢digo representaci¢n de una cl usula WHILE
|
||||
// ITEM lpstrWhile; // Cadena representaci¢n de una cl usula WHILE
|
||||
// ITEM lNext;
|
||||
// ITEM itmRecID;
|
||||
// ITEM fRest; // TRUE si se empieza desde el registro actual
|
||||
|
||||
// BOOL fIgnoreFilter;
|
||||
// BOOL fIncludeDeleted;
|
||||
// BOOL fLast;
|
||||
// BOOL fIgnoreDuplicates;
|
||||
|
||||
//} DBSCOPEINFO;
|
||||
|
||||
//typedef DBSCOPEINFO far * LPDBSCOPEINFO;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DBFILTERINFO
|
||||
* ------------
|
||||
* La estructura de filtro
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// ITEM itmCobExpr; // Bloque representaci¢n de la expresi¢n FILTER
|
||||
// ITEM abFilterText; // Cadena representaci¢n de la expresi¢n FILTER
|
||||
// BOOL fFilter;
|
||||
//} DBFILTERINFO;
|
||||
|
||||
//typedef DBFILTERINFO far * LPDBFILTERINFO;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DBRELINFO
|
||||
* ------------
|
||||
* La estrurcura de relaciones
|
||||
*/
|
||||
|
||||
//typedef struct _DBRELINFO
|
||||
//{
|
||||
// ITEM itmCobExpr; // Bloque representaci¢n de la clave relacional SEEK
|
||||
// ITEM abKey; // Cadena representaci¢n de la clave relacional SEEK
|
||||
|
||||
// struct _AREA far *lpaParent; // El padre de esta relaci¢n
|
||||
// struct _AREA far *lpaChild; // Los hijos del padre
|
||||
|
||||
// struct _DBRELINFO far *lpdbriNext; // Siguiente hijo o padre
|
||||
|
||||
//} DBRELINFO;
|
||||
|
||||
//typedef DBRELINFO far * LPDBRELINFO;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DBEVALINFO
|
||||
* ------------
|
||||
* La estructura de evaluaci¢n
|
||||
*
|
||||
* Contiene la informaci¢n necesaria para la evaluaci¢n de un bloque
|
||||
* en cada registro del rea de trabajo
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// ITEM itmBlock; // El bloque a evaluar
|
||||
// DBSCOPEINFO dbsci; // Ambito que limita la evaluaci¢n
|
||||
//} DBEVALINFO;
|
||||
|
||||
//typedef DBEVALINFO far * LPDBEVALINFO;
|
||||
|
||||
|
||||
/*
|
||||
* DBTRANSITEM
|
||||
* ------------
|
||||
* La estructura de transferencia
|
||||
*
|
||||
* Define un elemento de transferencia simple (normalmente un campo)
|
||||
* de una base de datos a otra; utilizada por DBTRANSINFO
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// USHORT uiSource; // N£mero de ¡ndice de campo del fuente
|
||||
// USHORT uiDest; // N£mero de ¡ndice de campo del destino
|
||||
//} DBTRANSITEM;
|
||||
|
||||
//typedef DBTRANSITEM far * LPDBTRANSITEM;
|
||||
|
||||
|
||||
/*
|
||||
* DBTRANSINFO
|
||||
* ------------
|
||||
* La estructura de transferenciaz
|
||||
*
|
||||
* Define una transferencia de elementos de datos global de un
|
||||
* rea de trabajo a otra
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// struct _AREA far *lpaSource; // Puntero al rea de trabajo fuente
|
||||
// struct _AREA far *lpaDest; // Puntero al rea de trabajo destino
|
||||
// DBSCOPEINFO dbsci; // Ambito de limitaci¢n de transferencia
|
||||
|
||||
// USHORT uiFlags; // Atributos de transferencia
|
||||
|
||||
// USHORT uiItemCount; // Contador de elementos
|
||||
// LPDBTRANSITEM lpTransItems; // Matriz de elementos
|
||||
//} DBTRANSINFO;
|
||||
|
||||
//typedef DBTRANSINFO far * LPDBTRANSINFO;
|
||||
|
||||
|
||||
/*
|
||||
* DBSORTITEM
|
||||
* ----------
|
||||
* La estructura de ordenaci¢n
|
||||
*
|
||||
* Una matriz de elementos que, juntos, indican el valor clave a
|
||||
* utilizar al ordenar datos. El orden de la matriz determina el
|
||||
* orden de la ordenaci¢n.
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// USHORT uiField; // Indice dentro de la estructura
|
||||
// // rea-de-trabajo->campos
|
||||
// USHORT uiFlags; // Indicadores de ordenaci¢n
|
||||
//} DBSORTITEM;
|
||||
|
||||
//typedef DBSORTITEM far * LPDBSORTITEM;
|
||||
|
||||
// Indicadores para DBSORTITEM
|
||||
//#define SF_ASCEND 1
|
||||
//#define SF_CASE 2
|
||||
//#define SF_DESCEND 4
|
||||
//#define SF_NUM 32
|
||||
//#define SF_DOUBLE 64
|
||||
//#define SF_LONG 128
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DBSORTINFO
|
||||
* ----------
|
||||
* La estructura de ordenaci¢n
|
||||
*
|
||||
* Informaci¢n para la ordenaci¢n f¡sica en un rea de trabajo
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// DBTRANSINFO dbtri; // Informaci¢n de transferencia del rea de
|
||||
// trabajo destino
|
||||
// LPDBSORTITEM lpdbsItem; // Campos que componen los valores claves en
|
||||
// la ordenaci¢n
|
||||
// USHORT uiItemCount; // Contador de elementos
|
||||
|
||||
//} DBSORTINFO;
|
||||
|
||||
//typedef DBSORTINFO far * LPDBSORTINFO;
|
||||
|
||||
|
||||
/*
|
||||
* DBLOCKINFO
|
||||
* ----------
|
||||
* La estructura de bloqueozz
|
||||
*
|
||||
* Contiene informaci¢n de bloqueos de registro o fichero
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// ULONG itmRecID;
|
||||
// USHORT uiMethod;
|
||||
// BOOL fResult;
|
||||
//} DBLOCKINFO;
|
||||
|
||||
//typedef DBLOCKINFO far * LPDBLOCKINFO;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* FIELD
|
||||
* -----
|
||||
* La estructura de campos
|
||||
*
|
||||
* Esta es la unidad b sica de acceso a un rea de trabajo
|
||||
*/
|
||||
|
||||
//typedef struct _FIELD
|
||||
//{
|
||||
// USHORT uiType; // Tipo de campo
|
||||
// USHORT uiTypeExtended; // Tipo de campo - extendido
|
||||
// USHORT uiLen; // Longitud de campo
|
||||
// USHORT uiDec; // Longitud de caracteres decimales
|
||||
// USHORT uiArea; // Area en la que reside este campo
|
||||
// FARP sym; // S¡mbolo que representa el campo
|
||||
|
||||
// struct _FIELD *lpfNext; // Siguiente campo de la lista
|
||||
|
||||
//} FIELD;
|
||||
|
||||
//typedef FIELD far * LPFIELD;
|
||||
|
||||
|
||||
|
||||
/*-----------------* Estructuras de reas de trabajo *-------------------*/
|
||||
|
||||
/*
|
||||
* WORKAREA
|
||||
* --------
|
||||
* La estructura del rea de trabajo
|
||||
*
|
||||
* Informaci¢n para administrar el rea de trabajo
|
||||
*/
|
||||
|
||||
typedef struct _AREA
|
||||
{
|
||||
struct _RDDFUNCS * lprfsHost;
|
||||
|
||||
USHORT uiArea; // El n£mero asignado al rea de trabajo
|
||||
// FARP atomAlias; // Puntero al s¡mbolo alias de este rea
|
||||
// de trabajo
|
||||
// USHORT uiFieldExtent; // N£mero total de campos asignados
|
||||
// USHORT uiFieldCount; // N£mero total de campos utilizados
|
||||
// LPFIELD lpFields; // Puntero a una matriz de campos
|
||||
|
||||
// FARP lpFieldExtents; // Puntero nulo para propiedades adicionales
|
||||
|
||||
// ITEM valResult; // Contenedor de resultados de m£ltiples usos
|
||||
|
||||
// BOOL fTop; // TRUE si "top"
|
||||
// BOOL fBottom; // TRUE si "bottom"
|
||||
// BOOL fBof; // TRUE si "bof"
|
||||
// BOOL fEof; // TRUE si "eof"
|
||||
// BOOL fFound; // TRUE si "found"
|
||||
|
||||
// DBSCOPEINFO dbsi; // Informaci¢n concerniente al £ltimo LOCATE
|
||||
// DBFILTERINFO dbfi; // Filtro activo
|
||||
|
||||
// LPDBORDERCONDINFO lpdbOrdCondInfo;
|
||||
|
||||
// LPDBRELINFO lpdbRelations; // Relaciones padre/hijo utilizadas
|
||||
// USHORT uiParents; // N£mero de padres en este rea
|
||||
|
||||
// HANDLE heap;
|
||||
// USHORT heapSize;
|
||||
|
||||
// USHORT rddID;
|
||||
|
||||
} AREA;
|
||||
|
||||
typedef AREA * LPAREA;
|
||||
|
||||
#ifndef AREAP
|
||||
#define AREAP LPAREA
|
||||
#endif
|
||||
|
||||
/*-----------------* Prototipos punto de entrada *---------------------*/
|
||||
|
||||
typedef USHORT ( * DBENTRYP_V )( AREAP area );
|
||||
typedef USHORT ( * DBENTRYP_BP )( AREAP area, BOOL * param );
|
||||
typedef USHORT ( * DBENTRYP_L )( AREAP area, LONG param );
|
||||
typedef USHORT ( * DBENTRYP_I )( AREAP area, PHB_ITEM param );
|
||||
typedef USHORT ( * DBENTRYP_SI )( AREAP area, USHORT index, PHB_ITEM param );
|
||||
typedef USHORT ( * DBENTRYP_VP )( AREAP area, DBOPENINFOP param );
|
||||
typedef USHORT ( * DBENTRYP_SP )( AREAP area, USHORT * param );
|
||||
|
||||
//typedef USHORT (far * DBENTRYP_S)(AREAP area, USHORT param);
|
||||
//typedef USHORT (far * DBENTRYP_LP)(AREAP area, LONGP param);
|
||||
//typedef USHORT (far * DBENTRYP_PP)(AREAP area, FARPP param);
|
||||
//typedef USHORT (far * DBENTRYP_SVP)(AREAP area, USHORT index, FARP param);
|
||||
//typedef USHORT (far * DBENTRYP_SVPB)(AREAP area, USHORT index, FARP param, USHORT mode);
|
||||
//typedef USHORT (far * DBENTRYP_VPL)(AREAP area, FARP p1, LONG p2);
|
||||
//typedef USHORT (far * DBENTRYP_VPLP)(AREAP area, FARP p1, LONGP p2);
|
||||
//typedef USHORT (far * DBENTRYP_LSP)(AREAP area, LONG p1, USHORTP p2);
|
||||
//typedef USHORT (far * DBENTRYP_SSI) (AREAP area, USHORT p1, USHORT p2, ITEM p3);
|
||||
//typedef USHORT (far * DBENTRYP_ISI) (AREAP area, ITEM p1, USHORT p2, ITEM p3);
|
||||
//typedef USHORT (far * DBENTRYP_VSP) (AREAP area, USHORT action, LONG lRecord);
|
||||
|
||||
|
||||
|
||||
/*-----------------* Tabla de m‚dotos virtuales *-------------------*/
|
||||
|
||||
typedef struct _RDDFUNCS
|
||||
{
|
||||
|
||||
/* M‚todos de posicionamiento y desplazamiento */
|
||||
|
||||
DBENTRYP_BP bof;
|
||||
DBENTRYP_BP eof;
|
||||
DBENTRYP_BP found;
|
||||
DBENTRYP_V goBottom;
|
||||
DBENTRYP_L go;
|
||||
// DBENTRYP_I goToId;
|
||||
DBENTRYP_V goTop;
|
||||
// DBENTRYP_SI seek;
|
||||
DBENTRYP_L skip;
|
||||
// DBENTRYP_L skipFilter; /* L */
|
||||
// DBENTRYP_L skipRaw; /* L */
|
||||
|
||||
|
||||
/* Manejo de datos */
|
||||
|
||||
// DBENTRYP_VP addField; /* VP */
|
||||
// DBENTRYP_S append; /* S */
|
||||
// DBENTRYP_I createFields; /* I */
|
||||
// DBENTRYP_V deleterec; /* V */
|
||||
// DBENTRYP_SP deleted; /* SP */
|
||||
// DBENTRYP_SP fieldCount; /* SP */
|
||||
// DBENTRYP_VP fieldDisplay; /* VP */
|
||||
// DBENTRYP_SSI fieldInfo; /* SSI */
|
||||
// DBENTRYP_SVP fieldName; /* SVP */
|
||||
// DBENTRYP_V flush; /* V */
|
||||
// DBENTRYP_PP getRec; /* PP */
|
||||
// DBENTRYP_SI getValue; /* SI */
|
||||
// DBENTRYP_SVP getVarLen; /* SVP */
|
||||
// DBENTRYP_V goCold; /* V */
|
||||
// DBENTRYP_V goHot; /* V */
|
||||
// DBENTRYP_VP putRec; /* VP */
|
||||
// DBENTRYP_SI putValue; /* SI */
|
||||
// DBENTRYP_V recall; /* V */
|
||||
// DBENTRYP_LP reccount; /* LP */
|
||||
// DBENTRYP_ISI recInfo; /* ISI */
|
||||
// DBENTRYP_I recno; /* I */
|
||||
// DBENTRYP_S setFieldExtent; /* S */
|
||||
|
||||
/* Manejo de reas de trabajo/bases de datos */
|
||||
|
||||
// DBENTRYP_VP alias; /* VP */
|
||||
DBENTRYP_V close;
|
||||
DBENTRYP_VP create;
|
||||
// DBENTRYP_SI info; /* SI */
|
||||
// DBENTRYP_V newarea; /* V */
|
||||
DBENTRYP_VP open;
|
||||
// DBENTRYP_V release; /* V */
|
||||
DBENTRYP_SP structSize;
|
||||
// DBENTRYP_VP sysName; /* VP */
|
||||
// DBENTRYP_VP dbEval; /* VP */
|
||||
// DBENTRYP_V pack; /* V */
|
||||
// DBENTRYP_LSP packRec; /* LSP */
|
||||
// DBENTRYP_VP sort; /* VP */
|
||||
// DBENTRYP_VP trans; /* VP */
|
||||
// DBENTRYP_VP transRec; /* VP */
|
||||
// DBENTRYP_V zap; /* V */
|
||||
|
||||
|
||||
/* M‚todos relacionales */
|
||||
|
||||
// DBENTRYP_VP childEnd; /* VP */
|
||||
// DBENTRYP_VP childStart; /* VP */
|
||||
// DBENTRYP_VP childSync; /* VP */
|
||||
// DBENTRYP_V syncChildren; /* V */
|
||||
// DBENTRYP_V clearRel; /* V */
|
||||
// DBENTRYP_V forceRel; /* V */
|
||||
// DBENTRYP_SVP relArea; /* SVP */
|
||||
// DBENTRYP_VP relEval; /* VP */
|
||||
// DBENTRYP_SVP relText; /* SVP */
|
||||
// DBENTRYP_VP setRel; /* VP */
|
||||
|
||||
|
||||
/* Manejo de ¢rdenes */
|
||||
|
||||
// DBENTRYP_VP orderListAdd; /* VP */
|
||||
// DBENTRYP_V orderListClear; /* V */
|
||||
// DBENTRYP_VP orderListDelete; /* VP */
|
||||
// DBENTRYP_VP orderListFocus; /* VP */
|
||||
// DBENTRYP_V orderListRebuild; /* V */
|
||||
|
||||
// DBENTRYP_VP orderCondition; /* VP */
|
||||
// DBENTRYP_VP orderCreate; /* VP */
|
||||
// DBENTRYP_VP orderDestroy; /* VP */
|
||||
// DBENTRYP_SVP orderInfo; /* SVP */
|
||||
|
||||
/* Establecimiento de filtros y mbitos */
|
||||
|
||||
// DBENTRYP_V clearFilter; /* V */
|
||||
// DBENTRYP_V clearLocate; /* V */
|
||||
// DBENTRYP_V clearScope; /* V */
|
||||
// DBENTRYP_VPLP countScope; /* VPLP*/
|
||||
// DBENTRYP_VP filterText; /* VP */
|
||||
// DBENTRYP_SI scopeInfo; /* SI */
|
||||
// DBENTRYP_VP setFilter; /* VP */
|
||||
// DBENTRYP_VP setLocate; /* VP */
|
||||
// DBENTRYP_VP setScope; /* VP */
|
||||
// DBENTRYP_VPL skipScope; /* VPL */
|
||||
|
||||
/* Diversos */
|
||||
|
||||
// DBENTRYP_VP compile; /* VP */
|
||||
// DBENTRYP_VP error; /* VP */
|
||||
// DBENTRYP_I evalBlock; /* I */
|
||||
|
||||
|
||||
/* Operaciones de red */
|
||||
|
||||
// DBENTRYP_VSP rawlock; /* VSP */
|
||||
// DBENTRYP_VP lock; /* VP */
|
||||
// DBENTRYP_L unlock; /* L */
|
||||
|
||||
|
||||
/* Funciones de ficheros memo */
|
||||
|
||||
// DBENTRYP_V closeMemFile; /* V */
|
||||
// DBENTRYP_VP createMemFile; /* VP */
|
||||
// DBENTRYP_SVPB getValueFile; /* SVPB */
|
||||
// DBENTRYP_VP openMemFile; /* VP */
|
||||
// DBENTRYP_SVP putValueFile; /* SVP */
|
||||
|
||||
|
||||
/* Manejo de cabeceras de ficheros de base de datos */
|
||||
|
||||
// DBENTRYP_V readDBHeader; /* V */
|
||||
// DBENTRYP_V writeDBHeader; /* V */
|
||||
|
||||
|
||||
/* M‚todos especiales y reservados */
|
||||
|
||||
// DBENTRYP_SVP whoCares; /* SVP */
|
||||
|
||||
} RDDFUNCS;
|
||||
|
||||
typedef RDDFUNCS * PRDDFUNCS;
|
||||
|
||||
#define RDDFUNCSCOUNT ( sizeof( RDDFUNCS ) / sizeof( DBENTRYP_V ) )
|
||||
|
||||
/*--------------------* SELF Methods *------------------------*/
|
||||
|
||||
/* Movement and positioning methods */
|
||||
|
||||
#define SELF_BOF(w, sp) ((*(w)->lprfsHost->bof)(w, sp))
|
||||
#define SELF_EOF(w, sp) ((*(w)->lprfsHost->eof)(w, sp))
|
||||
#define SELF_FOUND(w, sp) ((*(w)->lprfsHost->found)(w, sp))
|
||||
#define SELF_GOTO(w, l) ((*(w)->lprfsHost->go)(w, l))
|
||||
#define SELF_GOTOID(w, sp) ((*(w)->lprfsHost->goToId)(w, sp))
|
||||
#define SELF_GOBOTTOM(w) ((*(w)->lprfsHost->goBottom)(w))
|
||||
#define SELF_GOTOP(w) ((*(w)->lprfsHost->goTop)(w))
|
||||
#define SELF_SEEK(w, i, v) ((*(w)->lprfsHost->seek)(w, i, v))
|
||||
#define SELF_SKIP(w, l) ((*(w)->lprfsHost->skip)(w, l))
|
||||
#define SELF_SKIPFILTER(w, l) ((*(w)->lprfsHost->skipFilter)(w, l))
|
||||
#define SELF_SKIPRAW(w, l) ((*(w)->lprfsHost->skipRaw)(w, l))
|
||||
|
||||
|
||||
/* Data management */
|
||||
|
||||
#define SELF_ADDFIELD(w, ip) ((*(w)->lprfsHost->addField)(w, ip))
|
||||
#define SELF_APPEND(w,l) ((*(w)->lprfsHost->append)(w,l))
|
||||
#define SELF_CREATEFIELDS(w, v) ((*(w)->lprfsHost->createFields)(w, v))
|
||||
#define SELF_DELETE(w) ((*(w)->lprfsHost->deleterec)(w))
|
||||
#define SELF_DELETED(w, sp) ((*(w)->lprfsHost->deleted)(w, sp))
|
||||
#define SELF_FIELDCOUNT(w, sp) ((*(w)->lprfsHost->fieldCount)(w, sp))
|
||||
#define SELF_FIELDDISPLAY(w, sp) ((*(w)->lprfsHost->fieldDisplay)(w, sp))
|
||||
#define SELF_FIELDINFO(w,s1,s2,v) ((*(w)->lprfsHost->fieldInfo)(w,s1,s2,v))
|
||||
#define SELF_FIELDNAME(w, i, bp) ((*(w)->lprfsHost->fieldName)(w, i, bp))
|
||||
#define SELF_FLUSH(w) ((*(w)->lprfsHost->flush)(w))
|
||||
#define SELF_GETREC(w, bpp) ((*(w)->lprfsHost->getRec)(w, bpp))
|
||||
#define SELF_GETVALUE(w, i, v) ((*(w)->lprfsHost->getValue)(w, i, v))
|
||||
#define SELF_GETVARLEN(w, i, lp) ((*(w)->lprfsHost->getVarLen)(w, i, lp))
|
||||
#define SELF_GOCOLD(w) ((*(w)->lprfsHost->goCold)(w))
|
||||
#define SELF_GOHOT(w) ((*(w)->lprfsHost->goHot)(w))
|
||||
#define SELF_PUTVALUE(w, i, v) ((*(w)->lprfsHost->putValue)(w, i, v))
|
||||
#define SELF_PUTREC(w, bp) ((*(w)->lprfsHost->putRec)(w, bp))
|
||||
#define SELF_RECALL(w) ((*(w)->lprfsHost->recall)(w))
|
||||
#define SELF_RECCOUNT(w, sp) ((*(w)->lprfsHost->reccount)(w, sp))
|
||||
#define SELF_RECINFO(w,v1,i,v2) ((*(w)->lprfsHost->recInfo)(w,v1,i,v2))
|
||||
#define SELF_RECNO(w, i) ((*(w)->lprfsHost->recno)(w, i))
|
||||
#define SELF_SETFIELDEXTENT(w, s) ((*(w)->lprfsHost->setFieldExtent)(w, s))
|
||||
|
||||
|
||||
/* WorkArea/Database management */
|
||||
|
||||
#define SELF_ALIAS(w, bp) ((*(w)->lprfsHost->alias)(w, bp))
|
||||
#define SELF_CLOSE(w) ((*(w)->lprfsHost->close)(w))
|
||||
#define SELF_CREATE(w, ip) ((*(w)->lprfsHost->create)(w, ip))
|
||||
#define SELF_INFO(w, i, g) ((*(w)->lprfsHost->info)(w, i, g))
|
||||
#define SELF_NEW(w) ((*(w)->lprfsHost->newarea)(w))
|
||||
#define SELF_OPEN(w, ip) ((*(w)->lprfsHost->open)(w, ip))
|
||||
#define SELF_RELEASE(w) ((*(w)->lprfsHost->release)(w))
|
||||
#define SELF_STRUCTSIZE(w, sp) ((*(w)->lprfsHost->structSize)(w,sp))
|
||||
#define SELF_SYSNAME(w, bp) ((*(w)->lprfsHost->sysName)(w, bp))
|
||||
#define SELF_DBEVAL(w, ip) ((*(w)->lprfsHost->dbEval)(w, ip))
|
||||
#define SELF_PACK(w) ((*(w)->lprfsHost->pack)(w))
|
||||
#define SELF_PACKREC(w, l, sp) ((*(w)->lprfsHost->packRec)(w, l, sp))
|
||||
#define SELF_SORT(w, ip) ((*(w)->lprfsHost->sort)(w, ip))
|
||||
#define SELF_TRANS(w, ip) ((*(w)->lprfsHost->trans)(w, ip))
|
||||
#define SELF_TRANSREC(w, ip) ((*(w)->lprfsHost->transRec)(w, ip))
|
||||
#define SELF_ZAP(w) ((*(w)->lprfsHost->zap)(w))
|
||||
|
||||
|
||||
/* Relational Methods */
|
||||
|
||||
#define SELF_CHILDEND(w, ip) ((*(w)->lprfsHost->childEnd)(w, ip))
|
||||
#define SELF_CHILDSTART(w, ip) ((*(w)->lprfsHost->childStart)(w, ip))
|
||||
#define SELF_CHILDSYNC(w, ip) ((*(w)->lprfsHost->childSync)(w, ip))
|
||||
#define SELF_SYNCCHILDREN(w) ((*(w)->lprfsHost->syncChildren)(w))
|
||||
#define SELF_CLEARREL(w) ((*(w)->lprfsHost->clearRel)(w))
|
||||
#define SELF_FORCEREL(w) ((*(w)->lprfsHost->forceRel)(w))
|
||||
#define SELF_RELAREA(w, s, sp) ((*(w)->lprfsHost->relArea)(w, s, sp))
|
||||
#define SELF_RELEVAL(w, ip) ((*(w)->lprfsHost->relEval)(w, ip))
|
||||
#define SELF_RELTEXT(w, s, bp) ((*(w)->lprfsHost->relText)(w, s, bp))
|
||||
#define SELF_SETREL(w, ip) ((*(w)->lprfsHost->setRel)(w, ip))
|
||||
|
||||
|
||||
/* Order Management */
|
||||
|
||||
#define SELF_ORDLSTADD(w, lp) ((*(w)->lprfsHost->orderListAdd)(w, lp))
|
||||
#define SELF_ORDLSTDELETE(w, lp) ((*(w)->lprfsHost->orderListDelete)(w, lp))
|
||||
#define SELF_ORDLSTFOCUS(w, lp) ((*(w)->lprfsHost->orderListFocus)(w,lp))
|
||||
#define SELF_ORDLSTREBUILD(w) ((*(w)->lprfsHost->orderListRebuild)(w))
|
||||
#define SELF_ORDLSTCLEAR(w) ((*(w)->lprfsHost->orderListClear)(w))
|
||||
|
||||
#define SELF_ORDSETCOND(w, ip) ((*(w)->lprfsHost->orderCondition)(w, ip))
|
||||
#define SELF_ORDCREATE(w, ip) ((*(w)->lprfsHost->orderCreate)(w, ip))
|
||||
#define SELF_ORDDESTROY(w, p) ((*(w)->lprfsHost->orderDestroy)(w, p))
|
||||
#define SELF_ORDINFO(w, i, p) ((*(w)->lprfsHost->orderInfo)(w, i, p))
|
||||
#define SELF_ORDEXPR(w, p) ((*(w)->lprfsHost->orderInfo)(w, DBOI_EXPRESSION, p))
|
||||
#define SELF_ORDCOND(w, p) ((*(w)->lprfsHost->orderInfo)(w, DBOI_CONDITION, p))
|
||||
#define SELF_ORDRECNO(w, p) ((*(w)->lprfsHost->orderInfo)(w, DBOI_RECNO, p))
|
||||
#define SELF_ORDPOS(w, p) ((*(w)->lprfsHost->orderInfo)(w, DBOI_POSITION, p))
|
||||
#define SELF_ORDNUMBER(w, p) ((*(w)->lprfsHost->orderInfo)(w, DBOI_NUMBER, p))
|
||||
#define SELF_ORDNAME(w, p) ((*(w)->lprfsHost->orderInfo)(w, DBOI_NAME, p))
|
||||
#define SELF_ORDBAGNAME(w, p) ((*(w)->lprfsHost->orderInfo)(w, DBOI_BAGNAME, p))
|
||||
#define SELF_ORDBAGEXT(w, p) ((*(w)->lprfsHost->orderInfo)(w, DBOI_BAGEXT, p))
|
||||
|
||||
|
||||
/* Filters and Scope Settings */
|
||||
|
||||
#define SELF_CLEARFILTER(w) ((*(w)->lprfsHost->clearFilter)(w))
|
||||
#define SELF_CLEARLOCATE(w) ((*(w)->lprfsHost->clearLocate)(w))
|
||||
#define SELF_CLEARSCOPE(w) ((*(w)->lprfsHost->clearScope)(w))
|
||||
#define SELF_COUNTSCOPE(w,ip,lp) ((*(w)->lprfsHost->countScope)(w,ip,lp))
|
||||
#define SELF_FILTERTEXT(w, bp) ((*(w)->lprfsHost->filterText)(w, bp))
|
||||
#define SELF_SCOPEINFO(w,i,v) ((*(w)->lprfsHost->scopeInfo)(w,i,v))
|
||||
#define SELF_SETFILTER(w, ip) ((*(w)->lprfsHost->setFilter)(w, ip))
|
||||
#define SELF_SETLOCATE(w, ip) ((*(w)->lprfsHost->setLocate)(w, ip))
|
||||
#define SELF_SETSCOPE(w, ip) ((*(w)->lprfsHost->setScope)(w, ip))
|
||||
#define SELF_SKIPSCOPE(w, bp, l) ((*(w)->lprfsHost->skipScope)(w, bp, l))
|
||||
|
||||
|
||||
/* Miscellaneous */
|
||||
|
||||
#define SELF_COMPILE(w, bp) ((*(w)->lprfsHost->compile)(w, bp))
|
||||
#define SELF_ERROR(w, ip) ((*(w)->lprfsHost->error)(w, ip))
|
||||
#define SELF_EVALBLOCK(w, v) ((*(w)->lprfsHost->evalBlock)(w, v))
|
||||
|
||||
|
||||
/* Network operations */
|
||||
|
||||
#define SELF_GETLOCKS(w, g) ((*(w)->lprfsHost->info)(w, DBI_GETLOCKARRAY, g))
|
||||
#define SELF_RAWLOCK(w, i, l) ((*(w)->lprfsHost->rawlock)(w, i, l))
|
||||
#define SELF_LOCK(w, sp) ((*(w)->lprfsHost->lock)(w, sp))
|
||||
#define SELF_UNLOCK(w, l) ((*(w)->lprfsHost->unlock)(w, l))
|
||||
|
||||
|
||||
/* Memofile functions */
|
||||
|
||||
#define SELF_CLOSEMEMFILE(w) ((*(w)->lprfsHost->closeMemFile)(w))
|
||||
#define SELF_CREATEMEMFILE(w,bp) ((*(w)->lprfsHost->createMemFile)(w,bp))
|
||||
#define SELF_GETVALUEFILE(w,i,bp,b) ((*(w)->lprfsHost->getValueFile)(w,i,bp,b))
|
||||
#define SELF_OPENMEMFILE(w,bp) ((*(w)->lprfsHost->openMemFile)(w,bp))
|
||||
#define SELF_PUTVALUEFILE(w,i,bp) ((*(w)->lprfsHost->putValueFile)(w,i,bp))
|
||||
|
||||
|
||||
/* Database file header handling */
|
||||
|
||||
#define SELF_READDBHEADER(w) ((*(w)->lprfsHost->readDBHeader)(w))
|
||||
#define SELF_WRITEDBHEADER(w) ((*(w)->lprfsHost->writeDBHeader)(w))
|
||||
|
||||
|
||||
/* Info operations */
|
||||
|
||||
#define SELF_RECSIZE(w, lp) ((*(w)->lprfsHost->info)(w, DBI_GETRECSIZE, lp))
|
||||
#define SELF_HEADERSIZE(w, fp) ((*(w)->lprfsHost->info)(w, DBI_GETHEADERSIZE, fp))
|
||||
#define SELF_LUPDATE(w, fp) ((*(w)->lprfsHost->info)(w, DBI_LASTUPDATE, fp ))
|
||||
#define SELF_SETDELIM(w, fp) ((*(w)->lprfsHost->info)(w, DBI_SETDELIMITER, fp))
|
||||
#define SELF_GETDELIM(w, fp) ((*(w)->lprfsHost->info)(w, DBI_GETDELIMITER, fp))
|
||||
#define SELF_TABLEEXT(w, fp) ((*(w)->lprfsHost->info)(w, DBI_TABLEEXT, fp))
|
||||
|
||||
|
||||
/*--------------------* M‚todos SUPER *------------------------*/
|
||||
|
||||
/* M‚todos de movimiento y posicionamiento */
|
||||
|
||||
//#define SUPER_BOF(w, sp) ((*(SUPERTABLE)->bof)(w, sp))
|
||||
//#define SUPER_EOF(w, sp) ((*(SUPERTABLE)->eof)(w, sp))
|
||||
//#define SUPER_FOUND(w, sp) ((*(SUPERTABLE)->found)(w, sp))
|
||||
//#define SUPER_GOTO(w, l) ((*(SUPERTABLE)->go)(w, l))
|
||||
//#define SUPER_GOTOID(w, sp) ((*(SUPERTABLE)->goToId)(w, sp))
|
||||
//#define SUPER_GOBOTTOM(w) ((*(SUPERTABLE)->goBottom)(w))
|
||||
//#define SUPER_GOTOP(w) ((*(SUPERTABLE)->goTop)(w))
|
||||
//#define SUPER_SEEK(w, i, v) ((*(SUPERTABLE)->seek)(w, i, v))
|
||||
//#define SUPER_SKIP(w, l) ((*(SUPERTABLE)->skip)(w, l))
|
||||
//#define SUPER_SKIPFILTER(w, l) ((*(SUPERTABLE)->skipFilter)(w, l))
|
||||
//#define SUPER_SKIPRAW(w, l) ((*(SUPERTABLE)->skipRaw)(w, l))
|
||||
|
||||
|
||||
/* Manejo de datos */
|
||||
|
||||
//#define SUPER_ADDFIELD(w, ip) ((*(SUPERTABLE)->addField)(w, ip))
|
||||
//#define SUPER_APPEND(w,l) ((*(SUPERTABLE)->append)(w,l))
|
||||
//#define SUPER_CREATEFIELDS(w, v) ((*(SUPERTABLE)->createFields)(w, v))
|
||||
//#define SUPER_DELETE(w) ((*(SUPERTABLE)->deleterec)(w))
|
||||
//#define SUPER_DELETED(w, sp) ((*(SUPERTABLE)->deleted)(w, sp))
|
||||
//#define SUPER_FIELDCOUNT(w, sp) ((*(SUPERTABLE)->fieldCount)(w, sp))
|
||||
//#define SUPER_FIELDDISPLAY(w, sp) ((*(SUPERTABLE)->fieldDisplay)(w, sp))
|
||||
//#define SUPER_FIELDINFO(w,s1,s2,v) ((*(SUPERTABLE)->fieldInfo)(w,s1,s2,v))
|
||||
//#define SUPER_FIELDNAME(w, i, bp) ((*(SUPERTABLE)->fieldName)(w, i, bp))
|
||||
//#define SUPER_FLUSH(w) ((*(SUPERTABLE)->flush)(w))
|
||||
//#define SUPER_GETREC(w, bpp) ((*(SUPERTABLE)->getRec)(w, bpp))
|
||||
//#define SUPER_GETVALUE(w, i, v) ((*(SUPERTABLE)->getValue)(w, i, v))
|
||||
//#define SUPER_GETVARLEN(w, i, lp) ((*(SUPERTABLE)->getVarLen)(w, i, lp))
|
||||
//#define SUPER_GOCOLD(w) ((*(SUPERTABLE)->goCold)(w))
|
||||
//#define SUPER_GOHOT(w) ((*(SUPERTABLE)->goHot)(w))
|
||||
//#define SUPER_PUTVALUE(w, i, v) ((*(SUPERTABLE)->putValue)(w, i, v))
|
||||
//#define SUPER_PUTREC(w, bp) ((*(SUPERTABLE)->putRec)(w, bp))
|
||||
//#define SUPER_RECALL(w) ((*(SUPERTABLE)->recall)(w))
|
||||
//#define SUPER_RECCOUNT(w, sp) ((*(SUPERTABLE)->reccount)(w, sp))
|
||||
//#define SUPER_RECINFO(w,v1,i,v2) ((*(SUPERTABLE)->recInfo)(w,v1,i,v2))
|
||||
//#define SUPER_RECNO(w, sp) ((*(SUPERTABLE)->recno)(w, sp))
|
||||
//#define SUPER_SETFIELDEXTENT(w, s) ((*(SUPERTABLE)->setFieldExtent)(w, s))
|
||||
|
||||
|
||||
/* Manejo de reas de trabajo/bases de datos */
|
||||
|
||||
//#define SUPER_ALIAS(w, bp) ((*(SUPERTABLE)->alias)(w, bp))
|
||||
//#define SUPER_CLOSE(w) ((*(SUPERTABLE)->close)(w))
|
||||
//#define SUPER_CREATE(w, ip) ((*(SUPERTABLE)->create)(w, ip))
|
||||
//#define SUPER_INFO(w, i, g) ((*(SUPERTABLE)->info)(w, i, g))
|
||||
//#define SUPER_NEW(w) ((*(SUPERTABLE)->newarea)(w))
|
||||
//#define SUPER_OPEN(w, ip) ((*(SUPERTABLE)->open)(w, ip))
|
||||
//#define SUPER_RELEASE(w) ((*(SUPERTABLE)->release)(w))
|
||||
//#define SUPER_STRUCTSIZE(w, sp) ((*(SUPERTABLE)->structSize)(w, sp))
|
||||
//#define SUPER_SYSNAME(w, bp) ((*(SUPERTABLE)->sysName)(w, bp))
|
||||
//#define SUPER_DBEVAL(w, ip) ((*(SUPERTABLE)->dbEval)(w, ip))
|
||||
//#define SUPER_PACK(w) ((*(SUPERTABLE)->pack)(w))
|
||||
//#define SUPER_PACKREC(w, l, sp) ((*(SUPERTABLE)->packRec)(w, l, sp))
|
||||
//#define SUPER_SORT(w, ip) ((*(SUPERTABLE)->sort)(w, ip))
|
||||
//#define SUPER_TRANS(w, ip) ((*(SUPERTABLE)->trans)(w, ip))
|
||||
//#define SUPER_TRANSREC(w, ip) ((*(SUPERTABLE)->transRec)(w, ip))
|
||||
//#define SUPER_ZAP(w) ((*(SUPERTABLE)->zap)(w))
|
||||
|
||||
|
||||
/* M‚todos relacionales */
|
||||
|
||||
//#define SUPER_CHILDEND(w, ip) ((*(SUPERTABLE)->childEnd)(w, ip))
|
||||
//#define SUPER_CHILDSTART(w, ip) ((*(SUPERTABLE)->childStart)(w, ip))
|
||||
//#define SUPER_CHILDSYNC(w, ip) ((*(SUPERTABLE)->childSync)(w, ip))
|
||||
//#define SUPER_SYNCCHILDREN(w) ((*(SUPERTABLE)->syncChildren)(w))
|
||||
//#define SUPER_CLEARREL(w) ((*(SUPERTABLE)->clearRel)(w))
|
||||
//#define SUPER_FORCEREL(w) ((*(SUPERTABLE)->forceRel)(w))
|
||||
//#define SUPER_RELAREA(w, s, sp) ((*(SUPERTABLE)->relArea)(w, s, sp))
|
||||
//#define SUPER_RELEVAL(w, ip) ((*(SUPERTABLE)->relEval)(w, ip))
|
||||
//#define SUPER_RELTEXT(w, s, bp) ((*(SUPERTABLE)->relText)(w, s, bp))
|
||||
//#define SUPER_SETREL(w, ip) ((*(SUPERTABLE)->setRel)(w, ip))
|
||||
|
||||
|
||||
/* Manejo de ¢rdenes */
|
||||
|
||||
//#define SUPER_ORDLSTADD(w, lp) ((*(SUPERTABLE)->orderListAdd)(w, lp))
|
||||
//#define SUPER_ORDLSTDELETE(w, lp) ((*(SUPERTABLE)->orderListDelete)(w, lp))
|
||||
//#define SUPER_ORDLSTFOCUS(w, lp) ((*(SUPERTABLE)->orderListFocus)(w, lp))
|
||||
//#define SUPER_ORDLSTREBUILD(w) ((*(SUPERTABLE)->orderListRebuild)(w))
|
||||
//#define SUPER_ORDLSTCLEAR(w) ((*(SUPERTABLE)->orderListClear)(w))
|
||||
|
||||
//#define SUPER_ORDSETCOND(w,ip) ((*(SUPERTABLE)->orderCondition)(w, ip))
|
||||
//#define SUPER_ORDCREATE(w, ip) ((*(SUPERTABLE)->orderCreate)(w, ip))
|
||||
//#define SUPER_ORDDELETE(w, ip) ((*(SUPERTABLE)->orderDelete)(w, ip))
|
||||
//#define SUPER_ORDINFO(w, i, p) ((*(SUPERTABLE)->orderInfo)(w, i, p))
|
||||
//#define SUPER_ORDEXPR(w, p) ((*(SUPERTABLE)->orderInfo)(w, DBOI_EXPRESSION, p))
|
||||
//#define SUPER_ORDCOND(w, p) ((*(SUPERTABLE)->orderInfo)(w, DBOI_CONDITION, p))
|
||||
//#define SUPER_ORDRECNO(w, p) ((*(SUPERTABLE)->orderInfo)(w, DBOI_RECNO, p))
|
||||
//#define SUPER_ORDPOS(w, p) ((*(SUPERTABLE)->orderInfo)(w, DBOI_POSITION, p))
|
||||
//#define SUPER_ORDNUMBER(w, p) ((*(SUPERTABLE)->orderInfo)(w, DBOI_NUMBER, p))
|
||||
//#define SUPER_ORDNAME(w, p) ((*(SUPERTABLE)->orderInfo)(w, DBOI_NAME, p))
|
||||
//#define SUPER_ORDBAGNAME(w, p) ((*(SUPERTABLE)->orderInfo)(w, DBOI_BAGNAME, p))
|
||||
//#define SUPER_ORDBAGEXT(w, p) ((*(SUPERTABLE)->orderInfo)(w, DBOI_BAGEXT, p))
|
||||
|
||||
|
||||
/* Establecimiento de filtros y mbitos */
|
||||
|
||||
//#define SUPER_CLEARFILTER(w) ((*(SUPERTABLE)->clearFilter)(w))
|
||||
//#define SUPER_CLEARLOCATE(w) ((*(SUPERTABLE)->clearLocate)(w))
|
||||
//#define SUPER_CLEARSCOPE(w) ((*(SUPERTABLE)->clearScope)(w))
|
||||
//#define SUPER_COUNTSCOPE(w,ip,lp) ((*(SUPERTABLE)->countScope)(w,ip,lp))
|
||||
//#define SUPER_FILTERTEXT(w, bp) ((*(SUPERTABLE)->filterText)(w, bp))
|
||||
//#define SUPER_SCOPEINFO(w,i,v) ((*(SUPERTABLE)->scopeInfo)(w,i,v))
|
||||
//#define SUPER_SETFILTER(w, ip) ((*(SUPERTABLE)->setFilter)(w, ip))
|
||||
//#define SUPER_SETLOCATE(w, ip) ((*(SUPERTABLE)->setLocate)(w, ip))
|
||||
//#define SUPER_SETSCOPE(w, ip) ((*(SUPERTABLE)->setScope)(w, ip))
|
||||
//#define SUPER_SKIPSCOPE(w, bp, l) ((*(SUPERTABLE)->skipScope)(w, bp, l))
|
||||
|
||||
|
||||
/* Diversos */
|
||||
|
||||
//#define SUPER_COMPILE(w, bp) ((*(SUPERTABLE)->compile)(w, bp))
|
||||
//#define SUPER_ERROR(w, ip) ((*(SUPERTABLE)->error)(w, ip))
|
||||
//#define SUPER_EVALBLOCK(w, v) ((*(SUPERTABLE)->evalBlock)(w, v))
|
||||
|
||||
|
||||
/* Operaciones de red */
|
||||
|
||||
//#define SUPER_GETLOCKS(w, g) ((*(SUPERTABLE)->info)(w, DBI_GETLOCKARRAY, g))
|
||||
//#define SUPER_RAWLOCK(w, i, l) ((*(SUPERTABLE)->rawlock)(w, i, l))
|
||||
//#define SUPER_LOCK(w, sp) ((*(SUPERTABLE)->lock)(w, sp))
|
||||
//#define SUPER_UNLOCK(w) ((*(SUPERTABLE)->unlock)(w))
|
||||
|
||||
|
||||
/* Funciones de ficheros memo */
|
||||
|
||||
//#define SUPER_CLOSEMEMFILE(w) ((*(SUPERTABLE)->closeMemFile)(w))
|
||||
//#define SUPER_CREATEMEMFILE(w,bp) ((*(SUPERTABLE)->createMemFile)(w,bp))
|
||||
//#define SUPER_GETVALUEFILE(w,i,bp,b) ((*(SUPERTABLE)->getValueFile)(w,i,bp,b))
|
||||
//#define SUPER_OPENMEMFILE(w,bp) ((*(SUPERTABLE)->openMemFile)(w,bp))
|
||||
//#define SUPER_PUTVALUEFILE(w,i,bp) ((*(SUPERTABLE)->putValueFile)(w,i,bp))
|
||||
|
||||
|
||||
/* Manejo de cabeceras de ficheros de base de datos */
|
||||
|
||||
//#define SUPER_READDBHEADER(w) ((*(SUPERTABLE)->readDBHeader)(w))
|
||||
//#define SUPER_WRITEDBHEADER(w) ((*(SUPERTABLE)->writeDBHeader)(w))
|
||||
|
||||
|
||||
/* Operaciones Info */
|
||||
|
||||
//#define SUPER_RECSIZE(w, lp) ((*(SUPERTABLE)->info)(w, DBI_GETRECSIZE, lp))
|
||||
//#define SUPER_HEADERSIZE(w, fp) ((*(SUPERTABLE)->info)(w, DBI_GETHEADERSIZE, fp))
|
||||
//#define SUPER_LUPDATE(w, fp) ((*(SUPERTABLE)->info)(w, DBI_LASTUPDATE, fp ))
|
||||
//#define SUPER_SETDELIM(w, fp) ((*(SUPERTABLE)->info)(w, DBI_SETDELIMITER, fp))
|
||||
//#define SUPER_GETDELIM(w, fp) ((*(SUPERTABLE)->info)(w, DBI_GETDELIMITER, fp))
|
||||
//#define SUPER_TABLEEXT(w, fp) ((*(SUPERTABLE)->info)(w, DBI_TABLEEXT, fp))
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* PROTOTYPES
|
||||
* ----------
|
||||
*/
|
||||
ERRCODE hb_rddInherit( PRDDFUNCS pTable, PRDDFUNCS pSubTable, PRDDFUNCS pSuperTable, PBYTE szDrvName );
|
||||
extern ERRCODE hb_rddDisinherit( BYTEP drvName );
|
||||
extern USHORT hb_rddExtendType( USHORT fieldType );
|
||||
extern USHORT hb_rddFieldType( USHORT extendType );
|
||||
|
||||
#include "rddapi.h"
|
||||
|
||||
#endif /* HB_RDD_API_ */
|
||||
|
||||
985
harbour/include/rddapi.h
Normal file
985
harbour/include/rddapi.h
Normal file
@@ -0,0 +1,985 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#ifndef HB_RDDAPI_H_
|
||||
#define HB_RDDAPI_H_
|
||||
|
||||
typedef PBYTE BYTEP;
|
||||
typedef USHORT ERRCODE;
|
||||
|
||||
// RDD method return codes
|
||||
|
||||
#define SUCCESS 0
|
||||
#define FAILURE 1
|
||||
|
||||
// Flags for DBTRANSINFO
|
||||
|
||||
#define DBTF_MATCH 0x0001
|
||||
#define DBTF_PUTREC 0x0002
|
||||
|
||||
// Codes for Locking methods
|
||||
|
||||
#define DBLM_EXCLUSIVE 1
|
||||
#define DBLM_MULTIPLE 2
|
||||
#define DBLM_FILE 3
|
||||
|
||||
// Codes for SELF_ORDINFO()
|
||||
|
||||
#define DBOI_CONDITION 1 // Get the order condition
|
||||
#define DBOI_EXPRESSION 2 // Get the order expression
|
||||
#define DBOI_POSITION 3 // Get the order position
|
||||
#define DBOI_RECNO 4 // Get the order record number
|
||||
#define DBOI_NAME 5 // Get the order list name
|
||||
#define DBOI_NUMBER 6 // Get the order list position
|
||||
#define DBOI_BAGNAME 7 // Get the order Bag name
|
||||
#define DBOI_BAGEXT 8 // Get the order Bag Extension
|
||||
#define DBOI_INDEXEXT DBOI_BAGEXT
|
||||
#define DBOI_INDEXNAME DBOI_BAGNAME
|
||||
#define DBOI_ORDERCOUNT 9 // Get the number of orders in the index file
|
||||
#define DBOI_FILEHANDLE 10 // Get the handle of the index file
|
||||
#define DBOI_ISCOND 11 // Get the flag if the order has a for condition
|
||||
#define DBOI_ISDESC 12 // Get the flag if the order is descending
|
||||
#define DBOI_UNIQUE 13 // Get the flag if the order has the unique attribute set
|
||||
|
||||
// Codes for SELF_INFO()
|
||||
|
||||
#define DBI_ISDBF 1 // Logical: RDD support DBF file format?
|
||||
#define DBI_CANPUTREC 2 // Logical: RDD support Putting Records?
|
||||
#define DBI_GETHEADERSIZE 3 // Numeric: Get header size of the file
|
||||
#define DBI_LASTUPDATE 4 // Date: Last date RDD file updated
|
||||
#define DBI_GETDELIMITER 5 // String: Get default delimiter
|
||||
#define DBI_SETDELIMITER 6 // String: Set default delimiter
|
||||
#define DBI_GETRECSIZE 7 // Numeric: Get record size of the file
|
||||
#define DBI_GETLOCKARRAY 8 // Array: Get an array of locked records
|
||||
#define DBI_TABLEEXT 9 // String: Get table file extension
|
||||
|
||||
#define DBI_ISFLOCK 20 // Get file lock status
|
||||
|
||||
#define DBI_CHILDCOUNT 22 // Number of opened relations
|
||||
#define DBI_FILEHANDLE 23 // Handle of opened file
|
||||
|
||||
#define DBI_BOF 26 // BOF flag - alternate to bof()
|
||||
#define DBI_EOF 27 // EOF flag - alternate to eof()
|
||||
#define DBI_DBFILTER 28 // Filter expression
|
||||
#define DBI_FOUND 29 // FOUND flag - alternate to found
|
||||
#define DBI_FCOUNT 30 // Number of fields
|
||||
#define DBI_LOCKCOUNT 31 // Get record size of the file
|
||||
#define DBI_VALIDBUFFER 32 // Is the current buffer valid
|
||||
#define DBI_ALIAS 33 // Alias name of workarea
|
||||
#define DBI_GETSCOPE 34 // Locate codeblock
|
||||
#define DBI_LOCKOFFSET 35 // New locking offset
|
||||
#define DBI_SHARED 36 // Gets/Sets the shared flag
|
||||
|
||||
#define DBI_MEMOEXT 37 // Gets/Sets the shared flag
|
||||
#define DBI_MEMOHANDLE 38 // Dos handle for memo file
|
||||
#define DBI_MEMOBLOCKSIZE 39 // Blocksize in memo files
|
||||
|
||||
#define DBI_DB_VERSION 101 // HOST driver Version
|
||||
#define DBI_RDD_VERSION 102 // RDD version (current RDD)
|
||||
|
||||
#define DBI_USER 1000 // Start of user definable DBI_ values
|
||||
|
||||
// codes for SELF_RECINFO()
|
||||
|
||||
#define DBRI_DELETED 1
|
||||
#define DBRI_LOCKED 2
|
||||
#define DBRI_RECSIZE 3
|
||||
#define DBRI_RECNO 4
|
||||
#define DBRI_UPDATED 5
|
||||
|
||||
|
||||
// codes for SELF_FIELDINFO()
|
||||
|
||||
#define DBS_NAME 1
|
||||
#define DBS_TYPE 2
|
||||
#define DBS_LEN 3
|
||||
#define DBS_DEC 4
|
||||
|
||||
// codes for RawLock types
|
||||
|
||||
#define FILE_LOCK 1
|
||||
#define FILE_UNLOCK 2
|
||||
#define REC_LOCK 3
|
||||
#define REC_UNLOCK 4
|
||||
#define HEADER_LOCK 5
|
||||
#define HEADER_UNLOCK 6
|
||||
#define APPEND_LOCK 7
|
||||
#define APPEND_UNLOCK 8
|
||||
|
||||
|
||||
/*
|
||||
* DBFIELDINFO
|
||||
* -----------
|
||||
* The field structure
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// BYTEP atomName; // Nombre de campo (s¡mbolo)
|
||||
// USHORT uiType; // Tipo de campo
|
||||
// USHORT typeExtended; // Tipo extendido de campo
|
||||
// USHORT uiLen; // Logitud total del campo
|
||||
// USHORT uiDec; // Lugares decimales para campos num‚ricos
|
||||
//} DBFIELDINFO;
|
||||
|
||||
//typedef DBFIELDINFO far * LPDBFIELDINFO;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DBOPENINFO
|
||||
* ----------
|
||||
* La estructura de los campos abiertos
|
||||
*/
|
||||
|
||||
typedef struct
|
||||
{
|
||||
USHORT uiArea; // N£mero de rea de trabajo del almacenamiento de datos
|
||||
PBYTE abName; // El nombre cualificado del almacenamiento de campos
|
||||
PBYTE atomAlias; // El nombre l¢gico del almacenamiento de campos
|
||||
BOOL fShared; // Modo compartido del almacenamiento de campos
|
||||
BOOL fReadonly; // Modo de s¢lo lectura del almacenamiento de campos
|
||||
|
||||
// FARP lpdbHeader; // Puntero a la cabecera del almacenamiento de campos
|
||||
} DBOPENINFO, * DBOPENINFOP;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DBORDERCONDINFO
|
||||
* ---------------
|
||||
* La estructura de creaci¢n condicional de orden
|
||||
*/
|
||||
|
||||
//typedef struct _DBORDERCONDINFO
|
||||
//{
|
||||
// BOOL fActive;
|
||||
// BYTEP abFor;
|
||||
// ITEM itmCobFor;
|
||||
// ITEM itmCobWhile;
|
||||
// ITEM itmCobEval;
|
||||
// LONG lStep;
|
||||
// LONG lStartRecno;
|
||||
// LONG lNextCount;
|
||||
// LONG lRecno;
|
||||
// BOOL fRest;
|
||||
// BOOL fDescending;
|
||||
// BOOL fScoped;
|
||||
// BOOL fAll;
|
||||
|
||||
// BOOL fAdditive;
|
||||
// BOOL fUseCurrent;
|
||||
// BOOL fCustom;
|
||||
// BOOL fNoOptimize;
|
||||
// FARP lpvCargo;
|
||||
|
||||
//} DBORDERCONDINFO;
|
||||
|
||||
//typedef DBORDERCONDINFO far * LPDBORDERCONDINFO;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DBORDERCREATE
|
||||
* -------------
|
||||
* La estructura de creaci¢n de orden
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// LPDBORDERCONDINFO lpdbOrdCondInfo; // Informaci¢n condicional
|
||||
// BYTEP abBagName; // Nombre del contenedor de ¢rdenes
|
||||
// BYTEP atomBagName; //
|
||||
// ITEM itmOrder; //
|
||||
// BOOL fUnique; // Indicador que determina si todas
|
||||
// las claves con £nicas
|
||||
|
||||
// ITEM itmCobExpr; // Bloque de c¢digo conteniendo la
|
||||
// expresi¢n clave
|
||||
// ITEM abExpr; // Cadena conteniendo la expresi¢n clave
|
||||
//} DBORDERCREATEINFO;
|
||||
|
||||
//typedef DBORDERCREATEINFO far * LPDBORDERCREATEINFO;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DBORDERINFO
|
||||
* -----------
|
||||
* La estructura de Set Index
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// ITEM atomBagName; // Nombre del contenedor de ¢rdenes
|
||||
// ITEM itmOrder; // Nombre o n£mero de la orden
|
||||
|
||||
// ITEM itmCobExpr; // Bloque de c¢digo conteniendo la expresi¢n clave
|
||||
|
||||
// ITEM itmResult; // Resultado de la operaci¢n
|
||||
|
||||
// BOOL fAllTags; // Indicador de todos los tags a abrir
|
||||
|
||||
//} DBORDERINFO;
|
||||
|
||||
//typedef DBORDERINFO far * LPDBORDERINFO;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DBSCOPEINFO
|
||||
* -----------
|
||||
* La estructura de mbito
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// ITEM itmCobFor; // Bloque de c¢digo representaci¢n de una cl usula FOR
|
||||
// ITEM lpstrFor; // Cadena representaci¢n de una cl usula FOR
|
||||
// ITEM itmCobWhile; // Bloque de c¢digo representaci¢n de una cl usula WHILE
|
||||
// ITEM lpstrWhile; // Cadena representaci¢n de una cl usula WHILE
|
||||
// ITEM lNext;
|
||||
// ITEM itmRecID;
|
||||
// ITEM fRest; // TRUE si se empieza desde el registro actual
|
||||
|
||||
// BOOL fIgnoreFilter;
|
||||
// BOOL fIncludeDeleted;
|
||||
// BOOL fLast;
|
||||
// BOOL fIgnoreDuplicates;
|
||||
|
||||
//} DBSCOPEINFO;
|
||||
|
||||
//typedef DBSCOPEINFO far * LPDBSCOPEINFO;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DBFILTERINFO
|
||||
* ------------
|
||||
* La estructura de filtro
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// ITEM itmCobExpr; // Bloque representaci¢n de la expresi¢n FILTER
|
||||
// ITEM abFilterText; // Cadena representaci¢n de la expresi¢n FILTER
|
||||
// BOOL fFilter;
|
||||
//} DBFILTERINFO;
|
||||
|
||||
//typedef DBFILTERINFO far * LPDBFILTERINFO;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DBRELINFO
|
||||
* ------------
|
||||
* La estrurcura de relaciones
|
||||
*/
|
||||
|
||||
//typedef struct _DBRELINFO
|
||||
//{
|
||||
// ITEM itmCobExpr; // Bloque representaci¢n de la clave relacional SEEK
|
||||
// ITEM abKey; // Cadena representaci¢n de la clave relacional SEEK
|
||||
|
||||
// struct _AREA far *lpaParent; // El padre de esta relaci¢n
|
||||
// struct _AREA far *lpaChild; // Los hijos del padre
|
||||
|
||||
// struct _DBRELINFO far *lpdbriNext; // Siguiente hijo o padre
|
||||
|
||||
//} DBRELINFO;
|
||||
|
||||
//typedef DBRELINFO far * LPDBRELINFO;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DBEVALINFO
|
||||
* ------------
|
||||
* La estructura de evaluaci¢n
|
||||
*
|
||||
* Contiene la informaci¢n necesaria para la evaluaci¢n de un bloque
|
||||
* en cada registro del rea de trabajo
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// ITEM itmBlock; // El bloque a evaluar
|
||||
// DBSCOPEINFO dbsci; // Ambito que limita la evaluaci¢n
|
||||
//} DBEVALINFO;
|
||||
|
||||
//typedef DBEVALINFO far * LPDBEVALINFO;
|
||||
|
||||
|
||||
/*
|
||||
* DBTRANSITEM
|
||||
* ------------
|
||||
* La estructura de transferencia
|
||||
*
|
||||
* Define un elemento de transferencia simple (normalmente un campo)
|
||||
* de una base de datos a otra; utilizada por DBTRANSINFO
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// USHORT uiSource; // N£mero de ¡ndice de campo del fuente
|
||||
// USHORT uiDest; // N£mero de ¡ndice de campo del destino
|
||||
//} DBTRANSITEM;
|
||||
|
||||
//typedef DBTRANSITEM far * LPDBTRANSITEM;
|
||||
|
||||
|
||||
/*
|
||||
* DBTRANSINFO
|
||||
* ------------
|
||||
* La estructura de transferenciaz
|
||||
*
|
||||
* Define una transferencia de elementos de datos global de un
|
||||
* rea de trabajo a otra
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// struct _AREA far *lpaSource; // Puntero al rea de trabajo fuente
|
||||
// struct _AREA far *lpaDest; // Puntero al rea de trabajo destino
|
||||
// DBSCOPEINFO dbsci; // Ambito de limitaci¢n de transferencia
|
||||
|
||||
// USHORT uiFlags; // Atributos de transferencia
|
||||
|
||||
// USHORT uiItemCount; // Contador de elementos
|
||||
// LPDBTRANSITEM lpTransItems; // Matriz de elementos
|
||||
//} DBTRANSINFO;
|
||||
|
||||
//typedef DBTRANSINFO far * LPDBTRANSINFO;
|
||||
|
||||
|
||||
/*
|
||||
* DBSORTITEM
|
||||
* ----------
|
||||
* La estructura de ordenaci¢n
|
||||
*
|
||||
* Una matriz de elementos que, juntos, indican el valor clave a
|
||||
* utilizar al ordenar datos. El orden de la matriz determina el
|
||||
* orden de la ordenaci¢n.
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// USHORT uiField; // Indice dentro de la estructura
|
||||
// // rea-de-trabajo->campos
|
||||
// USHORT uiFlags; // Indicadores de ordenaci¢n
|
||||
//} DBSORTITEM;
|
||||
|
||||
//typedef DBSORTITEM far * LPDBSORTITEM;
|
||||
|
||||
// Indicadores para DBSORTITEM
|
||||
//#define SF_ASCEND 1
|
||||
//#define SF_CASE 2
|
||||
//#define SF_DESCEND 4
|
||||
//#define SF_NUM 32
|
||||
//#define SF_DOUBLE 64
|
||||
//#define SF_LONG 128
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* DBSORTINFO
|
||||
* ----------
|
||||
* La estructura de ordenaci¢n
|
||||
*
|
||||
* Informaci¢n para la ordenaci¢n f¡sica en un rea de trabajo
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// DBTRANSINFO dbtri; // Informaci¢n de transferencia del rea de
|
||||
// trabajo destino
|
||||
// LPDBSORTITEM lpdbsItem; // Campos que componen los valores claves en
|
||||
// la ordenaci¢n
|
||||
// USHORT uiItemCount; // Contador de elementos
|
||||
|
||||
//} DBSORTINFO;
|
||||
|
||||
//typedef DBSORTINFO far * LPDBSORTINFO;
|
||||
|
||||
|
||||
/*
|
||||
* DBLOCKINFO
|
||||
* ----------
|
||||
* La estructura de bloqueozz
|
||||
*
|
||||
* Contiene informaci¢n de bloqueos de registro o fichero
|
||||
*/
|
||||
|
||||
//typedef struct
|
||||
//{
|
||||
// ULONG itmRecID;
|
||||
// USHORT uiMethod;
|
||||
// BOOL fResult;
|
||||
//} DBLOCKINFO;
|
||||
|
||||
//typedef DBLOCKINFO far * LPDBLOCKINFO;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* FIELD
|
||||
* -----
|
||||
* La estructura de campos
|
||||
*
|
||||
* Esta es la unidad b sica de acceso a un rea de trabajo
|
||||
*/
|
||||
|
||||
//typedef struct _FIELD
|
||||
//{
|
||||
// USHORT uiType; // Tipo de campo
|
||||
// USHORT uiTypeExtended; // Tipo de campo - extendido
|
||||
// USHORT uiLen; // Longitud de campo
|
||||
// USHORT uiDec; // Longitud de caracteres decimales
|
||||
// USHORT uiArea; // Area en la que reside este campo
|
||||
// FARP sym; // S¡mbolo que representa el campo
|
||||
|
||||
// struct _FIELD *lpfNext; // Siguiente campo de la lista
|
||||
|
||||
//} FIELD;
|
||||
|
||||
//typedef FIELD far * LPFIELD;
|
||||
|
||||
|
||||
|
||||
/*-----------------* Estructuras de reas de trabajo *-------------------*/
|
||||
|
||||
/*
|
||||
* WORKAREA
|
||||
* --------
|
||||
* La estructura del rea de trabajo
|
||||
*
|
||||
* Informaci¢n para administrar el rea de trabajo
|
||||
*/
|
||||
|
||||
typedef struct _AREA
|
||||
{
|
||||
struct _RDDFUNCS * lprfsHost;
|
||||
|
||||
USHORT uiArea; // El n£mero asignado al rea de trabajo
|
||||
// FARP atomAlias; // Puntero al s¡mbolo alias de este rea
|
||||
// de trabajo
|
||||
// USHORT uiFieldExtent; // N£mero total de campos asignados
|
||||
// USHORT uiFieldCount; // N£mero total de campos utilizados
|
||||
// LPFIELD lpFields; // Puntero a una matriz de campos
|
||||
|
||||
// FARP lpFieldExtents; // Puntero nulo para propiedades adicionales
|
||||
|
||||
// ITEM valResult; // Contenedor de resultados de m£ltiples usos
|
||||
|
||||
// BOOL fTop; // TRUE si "top"
|
||||
// BOOL fBottom; // TRUE si "bottom"
|
||||
// BOOL fBof; // TRUE si "bof"
|
||||
// BOOL fEof; // TRUE si "eof"
|
||||
// BOOL fFound; // TRUE si "found"
|
||||
|
||||
// DBSCOPEINFO dbsi; // Informaci¢n concerniente al £ltimo LOCATE
|
||||
// DBFILTERINFO dbfi; // Filtro activo
|
||||
|
||||
// LPDBORDERCONDINFO lpdbOrdCondInfo;
|
||||
|
||||
// LPDBRELINFO lpdbRelations; // Relaciones padre/hijo utilizadas
|
||||
// USHORT uiParents; // N£mero de padres en este rea
|
||||
|
||||
// HANDLE heap;
|
||||
// USHORT heapSize;
|
||||
|
||||
// USHORT rddID;
|
||||
|
||||
} AREA;
|
||||
|
||||
typedef AREA * LPAREA;
|
||||
|
||||
#ifndef AREAP
|
||||
#define AREAP LPAREA
|
||||
#endif
|
||||
|
||||
/*-----------------* Prototipos punto de entrada *---------------------*/
|
||||
|
||||
typedef USHORT ( * DBENTRYP_V )( AREAP area );
|
||||
typedef USHORT ( * DBENTRYP_BP )( AREAP area, BOOL * param );
|
||||
typedef USHORT ( * DBENTRYP_L )( AREAP area, LONG param );
|
||||
typedef USHORT ( * DBENTRYP_I )( AREAP area, PHB_ITEM param );
|
||||
typedef USHORT ( * DBENTRYP_SI )( AREAP area, USHORT index, PHB_ITEM param );
|
||||
typedef USHORT ( * DBENTRYP_VP )( AREAP area, DBOPENINFOP param );
|
||||
typedef USHORT ( * DBENTRYP_SP )( AREAP area, USHORT * param );
|
||||
|
||||
//typedef USHORT (far * DBENTRYP_S)(AREAP area, USHORT param);
|
||||
//typedef USHORT (far * DBENTRYP_LP)(AREAP area, LONGP param);
|
||||
//typedef USHORT (far * DBENTRYP_PP)(AREAP area, FARPP param);
|
||||
//typedef USHORT (far * DBENTRYP_SVP)(AREAP area, USHORT index, FARP param);
|
||||
//typedef USHORT (far * DBENTRYP_SVPB)(AREAP area, USHORT index, FARP param, USHORT mode);
|
||||
//typedef USHORT (far * DBENTRYP_VPL)(AREAP area, FARP p1, LONG p2);
|
||||
//typedef USHORT (far * DBENTRYP_VPLP)(AREAP area, FARP p1, LONGP p2);
|
||||
//typedef USHORT (far * DBENTRYP_LSP)(AREAP area, LONG p1, USHORTP p2);
|
||||
//typedef USHORT (far * DBENTRYP_SSI) (AREAP area, USHORT p1, USHORT p2, ITEM p3);
|
||||
//typedef USHORT (far * DBENTRYP_ISI) (AREAP area, ITEM p1, USHORT p2, ITEM p3);
|
||||
//typedef USHORT (far * DBENTRYP_VSP) (AREAP area, USHORT action, LONG lRecord);
|
||||
|
||||
|
||||
|
||||
/*-----------------* Tabla de m‚dotos virtuales *-------------------*/
|
||||
|
||||
typedef struct _RDDFUNCS
|
||||
{
|
||||
|
||||
/* M‚todos de posicionamiento y desplazamiento */
|
||||
|
||||
DBENTRYP_BP bof;
|
||||
DBENTRYP_BP eof;
|
||||
DBENTRYP_BP found;
|
||||
DBENTRYP_V goBottom;
|
||||
DBENTRYP_L go;
|
||||
// DBENTRYP_I goToId;
|
||||
DBENTRYP_V goTop;
|
||||
// DBENTRYP_SI seek;
|
||||
DBENTRYP_L skip;
|
||||
// DBENTRYP_L skipFilter; /* L */
|
||||
// DBENTRYP_L skipRaw; /* L */
|
||||
|
||||
|
||||
/* Manejo de datos */
|
||||
|
||||
// DBENTRYP_VP addField; /* VP */
|
||||
// DBENTRYP_S append; /* S */
|
||||
// DBENTRYP_I createFields; /* I */
|
||||
// DBENTRYP_V deleterec; /* V */
|
||||
// DBENTRYP_SP deleted; /* SP */
|
||||
// DBENTRYP_SP fieldCount; /* SP */
|
||||
// DBENTRYP_VP fieldDisplay; /* VP */
|
||||
// DBENTRYP_SSI fieldInfo; /* SSI */
|
||||
// DBENTRYP_SVP fieldName; /* SVP */
|
||||
// DBENTRYP_V flush; /* V */
|
||||
// DBENTRYP_PP getRec; /* PP */
|
||||
// DBENTRYP_SI getValue; /* SI */
|
||||
// DBENTRYP_SVP getVarLen; /* SVP */
|
||||
// DBENTRYP_V goCold; /* V */
|
||||
// DBENTRYP_V goHot; /* V */
|
||||
// DBENTRYP_VP putRec; /* VP */
|
||||
// DBENTRYP_SI putValue; /* SI */
|
||||
// DBENTRYP_V recall; /* V */
|
||||
// DBENTRYP_LP reccount; /* LP */
|
||||
// DBENTRYP_ISI recInfo; /* ISI */
|
||||
// DBENTRYP_I recno; /* I */
|
||||
// DBENTRYP_S setFieldExtent; /* S */
|
||||
|
||||
/* Manejo de reas de trabajo/bases de datos */
|
||||
|
||||
// DBENTRYP_VP alias; /* VP */
|
||||
DBENTRYP_V close;
|
||||
DBENTRYP_VP create;
|
||||
// DBENTRYP_SI info; /* SI */
|
||||
// DBENTRYP_V newarea; /* V */
|
||||
DBENTRYP_VP open;
|
||||
// DBENTRYP_V release; /* V */
|
||||
DBENTRYP_SP structSize;
|
||||
// DBENTRYP_VP sysName; /* VP */
|
||||
// DBENTRYP_VP dbEval; /* VP */
|
||||
// DBENTRYP_V pack; /* V */
|
||||
// DBENTRYP_LSP packRec; /* LSP */
|
||||
// DBENTRYP_VP sort; /* VP */
|
||||
// DBENTRYP_VP trans; /* VP */
|
||||
// DBENTRYP_VP transRec; /* VP */
|
||||
// DBENTRYP_V zap; /* V */
|
||||
|
||||
|
||||
/* M‚todos relacionales */
|
||||
|
||||
// DBENTRYP_VP childEnd; /* VP */
|
||||
// DBENTRYP_VP childStart; /* VP */
|
||||
// DBENTRYP_VP childSync; /* VP */
|
||||
// DBENTRYP_V syncChildren; /* V */
|
||||
// DBENTRYP_V clearRel; /* V */
|
||||
// DBENTRYP_V forceRel; /* V */
|
||||
// DBENTRYP_SVP relArea; /* SVP */
|
||||
// DBENTRYP_VP relEval; /* VP */
|
||||
// DBENTRYP_SVP relText; /* SVP */
|
||||
// DBENTRYP_VP setRel; /* VP */
|
||||
|
||||
|
||||
/* Manejo de ¢rdenes */
|
||||
|
||||
// DBENTRYP_VP orderListAdd; /* VP */
|
||||
// DBENTRYP_V orderListClear; /* V */
|
||||
// DBENTRYP_VP orderListDelete; /* VP */
|
||||
// DBENTRYP_VP orderListFocus; /* VP */
|
||||
// DBENTRYP_V orderListRebuild; /* V */
|
||||
|
||||
// DBENTRYP_VP orderCondition; /* VP */
|
||||
// DBENTRYP_VP orderCreate; /* VP */
|
||||
// DBENTRYP_VP orderDestroy; /* VP */
|
||||
// DBENTRYP_SVP orderInfo; /* SVP */
|
||||
|
||||
/* Establecimiento de filtros y mbitos */
|
||||
|
||||
// DBENTRYP_V clearFilter; /* V */
|
||||
// DBENTRYP_V clearLocate; /* V */
|
||||
// DBENTRYP_V clearScope; /* V */
|
||||
// DBENTRYP_VPLP countScope; /* VPLP*/
|
||||
// DBENTRYP_VP filterText; /* VP */
|
||||
// DBENTRYP_SI scopeInfo; /* SI */
|
||||
// DBENTRYP_VP setFilter; /* VP */
|
||||
// DBENTRYP_VP setLocate; /* VP */
|
||||
// DBENTRYP_VP setScope; /* VP */
|
||||
// DBENTRYP_VPL skipScope; /* VPL */
|
||||
|
||||
/* Diversos */
|
||||
|
||||
// DBENTRYP_VP compile; /* VP */
|
||||
// DBENTRYP_VP error; /* VP */
|
||||
// DBENTRYP_I evalBlock; /* I */
|
||||
|
||||
|
||||
/* Operaciones de red */
|
||||
|
||||
// DBENTRYP_VSP rawlock; /* VSP */
|
||||
// DBENTRYP_VP lock; /* VP */
|
||||
// DBENTRYP_L unlock; /* L */
|
||||
|
||||
|
||||
/* Funciones de ficheros memo */
|
||||
|
||||
// DBENTRYP_V closeMemFile; /* V */
|
||||
// DBENTRYP_VP createMemFile; /* VP */
|
||||
// DBENTRYP_SVPB getValueFile; /* SVPB */
|
||||
// DBENTRYP_VP openMemFile; /* VP */
|
||||
// DBENTRYP_SVP putValueFile; /* SVP */
|
||||
|
||||
|
||||
/* Manejo de cabeceras de ficheros de base de datos */
|
||||
|
||||
// DBENTRYP_V readDBHeader; /* V */
|
||||
// DBENTRYP_V writeDBHeader; /* V */
|
||||
|
||||
|
||||
/* M‚todos especiales y reservados */
|
||||
|
||||
// DBENTRYP_SVP whoCares; /* SVP */
|
||||
|
||||
} RDDFUNCS;
|
||||
|
||||
typedef RDDFUNCS * PRDDFUNCS;
|
||||
|
||||
#define RDDFUNCSCOUNT ( sizeof( RDDFUNCS ) / sizeof( DBENTRYP_V ) )
|
||||
|
||||
/*--------------------* SELF Methods *------------------------*/
|
||||
|
||||
/* Movement and positioning methods */
|
||||
|
||||
#define SELF_BOF(w, sp) ((*(w)->lprfsHost->bof)(w, sp))
|
||||
#define SELF_EOF(w, sp) ((*(w)->lprfsHost->eof)(w, sp))
|
||||
#define SELF_FOUND(w, sp) ((*(w)->lprfsHost->found)(w, sp))
|
||||
#define SELF_GOTO(w, l) ((*(w)->lprfsHost->go)(w, l))
|
||||
#define SELF_GOTOID(w, sp) ((*(w)->lprfsHost->goToId)(w, sp))
|
||||
#define SELF_GOBOTTOM(w) ((*(w)->lprfsHost->goBottom)(w))
|
||||
#define SELF_GOTOP(w) ((*(w)->lprfsHost->goTop)(w))
|
||||
#define SELF_SEEK(w, i, v) ((*(w)->lprfsHost->seek)(w, i, v))
|
||||
#define SELF_SKIP(w, l) ((*(w)->lprfsHost->skip)(w, l))
|
||||
#define SELF_SKIPFILTER(w, l) ((*(w)->lprfsHost->skipFilter)(w, l))
|
||||
#define SELF_SKIPRAW(w, l) ((*(w)->lprfsHost->skipRaw)(w, l))
|
||||
|
||||
|
||||
/* Data management */
|
||||
|
||||
#define SELF_ADDFIELD(w, ip) ((*(w)->lprfsHost->addField)(w, ip))
|
||||
#define SELF_APPEND(w,l) ((*(w)->lprfsHost->append)(w,l))
|
||||
#define SELF_CREATEFIELDS(w, v) ((*(w)->lprfsHost->createFields)(w, v))
|
||||
#define SELF_DELETE(w) ((*(w)->lprfsHost->deleterec)(w))
|
||||
#define SELF_DELETED(w, sp) ((*(w)->lprfsHost->deleted)(w, sp))
|
||||
#define SELF_FIELDCOUNT(w, sp) ((*(w)->lprfsHost->fieldCount)(w, sp))
|
||||
#define SELF_FIELDDISPLAY(w, sp) ((*(w)->lprfsHost->fieldDisplay)(w, sp))
|
||||
#define SELF_FIELDINFO(w,s1,s2,v) ((*(w)->lprfsHost->fieldInfo)(w,s1,s2,v))
|
||||
#define SELF_FIELDNAME(w, i, bp) ((*(w)->lprfsHost->fieldName)(w, i, bp))
|
||||
#define SELF_FLUSH(w) ((*(w)->lprfsHost->flush)(w))
|
||||
#define SELF_GETREC(w, bpp) ((*(w)->lprfsHost->getRec)(w, bpp))
|
||||
#define SELF_GETVALUE(w, i, v) ((*(w)->lprfsHost->getValue)(w, i, v))
|
||||
#define SELF_GETVARLEN(w, i, lp) ((*(w)->lprfsHost->getVarLen)(w, i, lp))
|
||||
#define SELF_GOCOLD(w) ((*(w)->lprfsHost->goCold)(w))
|
||||
#define SELF_GOHOT(w) ((*(w)->lprfsHost->goHot)(w))
|
||||
#define SELF_PUTVALUE(w, i, v) ((*(w)->lprfsHost->putValue)(w, i, v))
|
||||
#define SELF_PUTREC(w, bp) ((*(w)->lprfsHost->putRec)(w, bp))
|
||||
#define SELF_RECALL(w) ((*(w)->lprfsHost->recall)(w))
|
||||
#define SELF_RECCOUNT(w, sp) ((*(w)->lprfsHost->reccount)(w, sp))
|
||||
#define SELF_RECINFO(w,v1,i,v2) ((*(w)->lprfsHost->recInfo)(w,v1,i,v2))
|
||||
#define SELF_RECNO(w, i) ((*(w)->lprfsHost->recno)(w, i))
|
||||
#define SELF_SETFIELDEXTENT(w, s) ((*(w)->lprfsHost->setFieldExtent)(w, s))
|
||||
|
||||
|
||||
/* WorkArea/Database management */
|
||||
|
||||
#define SELF_ALIAS(w, bp) ((*(w)->lprfsHost->alias)(w, bp))
|
||||
#define SELF_CLOSE(w) ((*(w)->lprfsHost->close)(w))
|
||||
#define SELF_CREATE(w, ip) ((*(w)->lprfsHost->create)(w, ip))
|
||||
#define SELF_INFO(w, i, g) ((*(w)->lprfsHost->info)(w, i, g))
|
||||
#define SELF_NEW(w) ((*(w)->lprfsHost->newarea)(w))
|
||||
#define SELF_OPEN(w, ip) ((*(w)->lprfsHost->open)(w, ip))
|
||||
#define SELF_RELEASE(w) ((*(w)->lprfsHost->release)(w))
|
||||
#define SELF_STRUCTSIZE(w, sp) ((*(w)->lprfsHost->structSize)(w,sp))
|
||||
#define SELF_SYSNAME(w, bp) ((*(w)->lprfsHost->sysName)(w, bp))
|
||||
#define SELF_DBEVAL(w, ip) ((*(w)->lprfsHost->dbEval)(w, ip))
|
||||
#define SELF_PACK(w) ((*(w)->lprfsHost->pack)(w))
|
||||
#define SELF_PACKREC(w, l, sp) ((*(w)->lprfsHost->packRec)(w, l, sp))
|
||||
#define SELF_SORT(w, ip) ((*(w)->lprfsHost->sort)(w, ip))
|
||||
#define SELF_TRANS(w, ip) ((*(w)->lprfsHost->trans)(w, ip))
|
||||
#define SELF_TRANSREC(w, ip) ((*(w)->lprfsHost->transRec)(w, ip))
|
||||
#define SELF_ZAP(w) ((*(w)->lprfsHost->zap)(w))
|
||||
|
||||
|
||||
/* Relational Methods */
|
||||
|
||||
#define SELF_CHILDEND(w, ip) ((*(w)->lprfsHost->childEnd)(w, ip))
|
||||
#define SELF_CHILDSTART(w, ip) ((*(w)->lprfsHost->childStart)(w, ip))
|
||||
#define SELF_CHILDSYNC(w, ip) ((*(w)->lprfsHost->childSync)(w, ip))
|
||||
#define SELF_SYNCCHILDREN(w) ((*(w)->lprfsHost->syncChildren)(w))
|
||||
#define SELF_CLEARREL(w) ((*(w)->lprfsHost->clearRel)(w))
|
||||
#define SELF_FORCEREL(w) ((*(w)->lprfsHost->forceRel)(w))
|
||||
#define SELF_RELAREA(w, s, sp) ((*(w)->lprfsHost->relArea)(w, s, sp))
|
||||
#define SELF_RELEVAL(w, ip) ((*(w)->lprfsHost->relEval)(w, ip))
|
||||
#define SELF_RELTEXT(w, s, bp) ((*(w)->lprfsHost->relText)(w, s, bp))
|
||||
#define SELF_SETREL(w, ip) ((*(w)->lprfsHost->setRel)(w, ip))
|
||||
|
||||
|
||||
/* Order Management */
|
||||
|
||||
#define SELF_ORDLSTADD(w, lp) ((*(w)->lprfsHost->orderListAdd)(w, lp))
|
||||
#define SELF_ORDLSTDELETE(w, lp) ((*(w)->lprfsHost->orderListDelete)(w, lp))
|
||||
#define SELF_ORDLSTFOCUS(w, lp) ((*(w)->lprfsHost->orderListFocus)(w,lp))
|
||||
#define SELF_ORDLSTREBUILD(w) ((*(w)->lprfsHost->orderListRebuild)(w))
|
||||
#define SELF_ORDLSTCLEAR(w) ((*(w)->lprfsHost->orderListClear)(w))
|
||||
|
||||
#define SELF_ORDSETCOND(w, ip) ((*(w)->lprfsHost->orderCondition)(w, ip))
|
||||
#define SELF_ORDCREATE(w, ip) ((*(w)->lprfsHost->orderCreate)(w, ip))
|
||||
#define SELF_ORDDESTROY(w, p) ((*(w)->lprfsHost->orderDestroy)(w, p))
|
||||
#define SELF_ORDINFO(w, i, p) ((*(w)->lprfsHost->orderInfo)(w, i, p))
|
||||
#define SELF_ORDEXPR(w, p) ((*(w)->lprfsHost->orderInfo)(w, DBOI_EXPRESSION, p))
|
||||
#define SELF_ORDCOND(w, p) ((*(w)->lprfsHost->orderInfo)(w, DBOI_CONDITION, p))
|
||||
#define SELF_ORDRECNO(w, p) ((*(w)->lprfsHost->orderInfo)(w, DBOI_RECNO, p))
|
||||
#define SELF_ORDPOS(w, p) ((*(w)->lprfsHost->orderInfo)(w, DBOI_POSITION, p))
|
||||
#define SELF_ORDNUMBER(w, p) ((*(w)->lprfsHost->orderInfo)(w, DBOI_NUMBER, p))
|
||||
#define SELF_ORDNAME(w, p) ((*(w)->lprfsHost->orderInfo)(w, DBOI_NAME, p))
|
||||
#define SELF_ORDBAGNAME(w, p) ((*(w)->lprfsHost->orderInfo)(w, DBOI_BAGNAME, p))
|
||||
#define SELF_ORDBAGEXT(w, p) ((*(w)->lprfsHost->orderInfo)(w, DBOI_BAGEXT, p))
|
||||
|
||||
|
||||
/* Filters and Scope Settings */
|
||||
|
||||
#define SELF_CLEARFILTER(w) ((*(w)->lprfsHost->clearFilter)(w))
|
||||
#define SELF_CLEARLOCATE(w) ((*(w)->lprfsHost->clearLocate)(w))
|
||||
#define SELF_CLEARSCOPE(w) ((*(w)->lprfsHost->clearScope)(w))
|
||||
#define SELF_COUNTSCOPE(w,ip,lp) ((*(w)->lprfsHost->countScope)(w,ip,lp))
|
||||
#define SELF_FILTERTEXT(w, bp) ((*(w)->lprfsHost->filterText)(w, bp))
|
||||
#define SELF_SCOPEINFO(w,i,v) ((*(w)->lprfsHost->scopeInfo)(w,i,v))
|
||||
#define SELF_SETFILTER(w, ip) ((*(w)->lprfsHost->setFilter)(w, ip))
|
||||
#define SELF_SETLOCATE(w, ip) ((*(w)->lprfsHost->setLocate)(w, ip))
|
||||
#define SELF_SETSCOPE(w, ip) ((*(w)->lprfsHost->setScope)(w, ip))
|
||||
#define SELF_SKIPSCOPE(w, bp, l) ((*(w)->lprfsHost->skipScope)(w, bp, l))
|
||||
|
||||
|
||||
/* Miscellaneous */
|
||||
|
||||
#define SELF_COMPILE(w, bp) ((*(w)->lprfsHost->compile)(w, bp))
|
||||
#define SELF_ERROR(w, ip) ((*(w)->lprfsHost->error)(w, ip))
|
||||
#define SELF_EVALBLOCK(w, v) ((*(w)->lprfsHost->evalBlock)(w, v))
|
||||
|
||||
|
||||
/* Network operations */
|
||||
|
||||
#define SELF_GETLOCKS(w, g) ((*(w)->lprfsHost->info)(w, DBI_GETLOCKARRAY, g))
|
||||
#define SELF_RAWLOCK(w, i, l) ((*(w)->lprfsHost->rawlock)(w, i, l))
|
||||
#define SELF_LOCK(w, sp) ((*(w)->lprfsHost->lock)(w, sp))
|
||||
#define SELF_UNLOCK(w, l) ((*(w)->lprfsHost->unlock)(w, l))
|
||||
|
||||
|
||||
/* Memofile functions */
|
||||
|
||||
#define SELF_CLOSEMEMFILE(w) ((*(w)->lprfsHost->closeMemFile)(w))
|
||||
#define SELF_CREATEMEMFILE(w,bp) ((*(w)->lprfsHost->createMemFile)(w,bp))
|
||||
#define SELF_GETVALUEFILE(w,i,bp,b) ((*(w)->lprfsHost->getValueFile)(w,i,bp,b))
|
||||
#define SELF_OPENMEMFILE(w,bp) ((*(w)->lprfsHost->openMemFile)(w,bp))
|
||||
#define SELF_PUTVALUEFILE(w,i,bp) ((*(w)->lprfsHost->putValueFile)(w,i,bp))
|
||||
|
||||
|
||||
/* Database file header handling */
|
||||
|
||||
#define SELF_READDBHEADER(w) ((*(w)->lprfsHost->readDBHeader)(w))
|
||||
#define SELF_WRITEDBHEADER(w) ((*(w)->lprfsHost->writeDBHeader)(w))
|
||||
|
||||
|
||||
/* Info operations */
|
||||
|
||||
#define SELF_RECSIZE(w, lp) ((*(w)->lprfsHost->info)(w, DBI_GETRECSIZE, lp))
|
||||
#define SELF_HEADERSIZE(w, fp) ((*(w)->lprfsHost->info)(w, DBI_GETHEADERSIZE, fp))
|
||||
#define SELF_LUPDATE(w, fp) ((*(w)->lprfsHost->info)(w, DBI_LASTUPDATE, fp ))
|
||||
#define SELF_SETDELIM(w, fp) ((*(w)->lprfsHost->info)(w, DBI_SETDELIMITER, fp))
|
||||
#define SELF_GETDELIM(w, fp) ((*(w)->lprfsHost->info)(w, DBI_GETDELIMITER, fp))
|
||||
#define SELF_TABLEEXT(w, fp) ((*(w)->lprfsHost->info)(w, DBI_TABLEEXT, fp))
|
||||
|
||||
|
||||
/*--------------------* M‚todos SUPER *------------------------*/
|
||||
|
||||
/* M‚todos de movimiento y posicionamiento */
|
||||
|
||||
//#define SUPER_BOF(w, sp) ((*(SUPERTABLE)->bof)(w, sp))
|
||||
//#define SUPER_EOF(w, sp) ((*(SUPERTABLE)->eof)(w, sp))
|
||||
//#define SUPER_FOUND(w, sp) ((*(SUPERTABLE)->found)(w, sp))
|
||||
//#define SUPER_GOTO(w, l) ((*(SUPERTABLE)->go)(w, l))
|
||||
//#define SUPER_GOTOID(w, sp) ((*(SUPERTABLE)->goToId)(w, sp))
|
||||
//#define SUPER_GOBOTTOM(w) ((*(SUPERTABLE)->goBottom)(w))
|
||||
//#define SUPER_GOTOP(w) ((*(SUPERTABLE)->goTop)(w))
|
||||
//#define SUPER_SEEK(w, i, v) ((*(SUPERTABLE)->seek)(w, i, v))
|
||||
//#define SUPER_SKIP(w, l) ((*(SUPERTABLE)->skip)(w, l))
|
||||
//#define SUPER_SKIPFILTER(w, l) ((*(SUPERTABLE)->skipFilter)(w, l))
|
||||
//#define SUPER_SKIPRAW(w, l) ((*(SUPERTABLE)->skipRaw)(w, l))
|
||||
|
||||
|
||||
/* Manejo de datos */
|
||||
|
||||
//#define SUPER_ADDFIELD(w, ip) ((*(SUPERTABLE)->addField)(w, ip))
|
||||
//#define SUPER_APPEND(w,l) ((*(SUPERTABLE)->append)(w,l))
|
||||
//#define SUPER_CREATEFIELDS(w, v) ((*(SUPERTABLE)->createFields)(w, v))
|
||||
//#define SUPER_DELETE(w) ((*(SUPERTABLE)->deleterec)(w))
|
||||
//#define SUPER_DELETED(w, sp) ((*(SUPERTABLE)->deleted)(w, sp))
|
||||
//#define SUPER_FIELDCOUNT(w, sp) ((*(SUPERTABLE)->fieldCount)(w, sp))
|
||||
//#define SUPER_FIELDDISPLAY(w, sp) ((*(SUPERTABLE)->fieldDisplay)(w, sp))
|
||||
//#define SUPER_FIELDINFO(w,s1,s2,v) ((*(SUPERTABLE)->fieldInfo)(w,s1,s2,v))
|
||||
//#define SUPER_FIELDNAME(w, i, bp) ((*(SUPERTABLE)->fieldName)(w, i, bp))
|
||||
//#define SUPER_FLUSH(w) ((*(SUPERTABLE)->flush)(w))
|
||||
//#define SUPER_GETREC(w, bpp) ((*(SUPERTABLE)->getRec)(w, bpp))
|
||||
//#define SUPER_GETVALUE(w, i, v) ((*(SUPERTABLE)->getValue)(w, i, v))
|
||||
//#define SUPER_GETVARLEN(w, i, lp) ((*(SUPERTABLE)->getVarLen)(w, i, lp))
|
||||
//#define SUPER_GOCOLD(w) ((*(SUPERTABLE)->goCold)(w))
|
||||
//#define SUPER_GOHOT(w) ((*(SUPERTABLE)->goHot)(w))
|
||||
//#define SUPER_PUTVALUE(w, i, v) ((*(SUPERTABLE)->putValue)(w, i, v))
|
||||
//#define SUPER_PUTREC(w, bp) ((*(SUPERTABLE)->putRec)(w, bp))
|
||||
//#define SUPER_RECALL(w) ((*(SUPERTABLE)->recall)(w))
|
||||
//#define SUPER_RECCOUNT(w, sp) ((*(SUPERTABLE)->reccount)(w, sp))
|
||||
//#define SUPER_RECINFO(w,v1,i,v2) ((*(SUPERTABLE)->recInfo)(w,v1,i,v2))
|
||||
//#define SUPER_RECNO(w, sp) ((*(SUPERTABLE)->recno)(w, sp))
|
||||
//#define SUPER_SETFIELDEXTENT(w, s) ((*(SUPERTABLE)->setFieldExtent)(w, s))
|
||||
|
||||
|
||||
/* Manejo de reas de trabajo/bases de datos */
|
||||
|
||||
//#define SUPER_ALIAS(w, bp) ((*(SUPERTABLE)->alias)(w, bp))
|
||||
//#define SUPER_CLOSE(w) ((*(SUPERTABLE)->close)(w))
|
||||
//#define SUPER_CREATE(w, ip) ((*(SUPERTABLE)->create)(w, ip))
|
||||
//#define SUPER_INFO(w, i, g) ((*(SUPERTABLE)->info)(w, i, g))
|
||||
//#define SUPER_NEW(w) ((*(SUPERTABLE)->newarea)(w))
|
||||
//#define SUPER_OPEN(w, ip) ((*(SUPERTABLE)->open)(w, ip))
|
||||
//#define SUPER_RELEASE(w) ((*(SUPERTABLE)->release)(w))
|
||||
//#define SUPER_STRUCTSIZE(w, sp) ((*(SUPERTABLE)->structSize)(w, sp))
|
||||
//#define SUPER_SYSNAME(w, bp) ((*(SUPERTABLE)->sysName)(w, bp))
|
||||
//#define SUPER_DBEVAL(w, ip) ((*(SUPERTABLE)->dbEval)(w, ip))
|
||||
//#define SUPER_PACK(w) ((*(SUPERTABLE)->pack)(w))
|
||||
//#define SUPER_PACKREC(w, l, sp) ((*(SUPERTABLE)->packRec)(w, l, sp))
|
||||
//#define SUPER_SORT(w, ip) ((*(SUPERTABLE)->sort)(w, ip))
|
||||
//#define SUPER_TRANS(w, ip) ((*(SUPERTABLE)->trans)(w, ip))
|
||||
//#define SUPER_TRANSREC(w, ip) ((*(SUPERTABLE)->transRec)(w, ip))
|
||||
//#define SUPER_ZAP(w) ((*(SUPERTABLE)->zap)(w))
|
||||
|
||||
|
||||
/* M‚todos relacionales */
|
||||
|
||||
//#define SUPER_CHILDEND(w, ip) ((*(SUPERTABLE)->childEnd)(w, ip))
|
||||
//#define SUPER_CHILDSTART(w, ip) ((*(SUPERTABLE)->childStart)(w, ip))
|
||||
//#define SUPER_CHILDSYNC(w, ip) ((*(SUPERTABLE)->childSync)(w, ip))
|
||||
//#define SUPER_SYNCCHILDREN(w) ((*(SUPERTABLE)->syncChildren)(w))
|
||||
//#define SUPER_CLEARREL(w) ((*(SUPERTABLE)->clearRel)(w))
|
||||
//#define SUPER_FORCEREL(w) ((*(SUPERTABLE)->forceRel)(w))
|
||||
//#define SUPER_RELAREA(w, s, sp) ((*(SUPERTABLE)->relArea)(w, s, sp))
|
||||
//#define SUPER_RELEVAL(w, ip) ((*(SUPERTABLE)->relEval)(w, ip))
|
||||
//#define SUPER_RELTEXT(w, s, bp) ((*(SUPERTABLE)->relText)(w, s, bp))
|
||||
//#define SUPER_SETREL(w, ip) ((*(SUPERTABLE)->setRel)(w, ip))
|
||||
|
||||
|
||||
/* Manejo de ¢rdenes */
|
||||
|
||||
//#define SUPER_ORDLSTADD(w, lp) ((*(SUPERTABLE)->orderListAdd)(w, lp))
|
||||
//#define SUPER_ORDLSTDELETE(w, lp) ((*(SUPERTABLE)->orderListDelete)(w, lp))
|
||||
//#define SUPER_ORDLSTFOCUS(w, lp) ((*(SUPERTABLE)->orderListFocus)(w, lp))
|
||||
//#define SUPER_ORDLSTREBUILD(w) ((*(SUPERTABLE)->orderListRebuild)(w))
|
||||
//#define SUPER_ORDLSTCLEAR(w) ((*(SUPERTABLE)->orderListClear)(w))
|
||||
|
||||
//#define SUPER_ORDSETCOND(w,ip) ((*(SUPERTABLE)->orderCondition)(w, ip))
|
||||
//#define SUPER_ORDCREATE(w, ip) ((*(SUPERTABLE)->orderCreate)(w, ip))
|
||||
//#define SUPER_ORDDELETE(w, ip) ((*(SUPERTABLE)->orderDelete)(w, ip))
|
||||
//#define SUPER_ORDINFO(w, i, p) ((*(SUPERTABLE)->orderInfo)(w, i, p))
|
||||
//#define SUPER_ORDEXPR(w, p) ((*(SUPERTABLE)->orderInfo)(w, DBOI_EXPRESSION, p))
|
||||
//#define SUPER_ORDCOND(w, p) ((*(SUPERTABLE)->orderInfo)(w, DBOI_CONDITION, p))
|
||||
//#define SUPER_ORDRECNO(w, p) ((*(SUPERTABLE)->orderInfo)(w, DBOI_RECNO, p))
|
||||
//#define SUPER_ORDPOS(w, p) ((*(SUPERTABLE)->orderInfo)(w, DBOI_POSITION, p))
|
||||
//#define SUPER_ORDNUMBER(w, p) ((*(SUPERTABLE)->orderInfo)(w, DBOI_NUMBER, p))
|
||||
//#define SUPER_ORDNAME(w, p) ((*(SUPERTABLE)->orderInfo)(w, DBOI_NAME, p))
|
||||
//#define SUPER_ORDBAGNAME(w, p) ((*(SUPERTABLE)->orderInfo)(w, DBOI_BAGNAME, p))
|
||||
//#define SUPER_ORDBAGEXT(w, p) ((*(SUPERTABLE)->orderInfo)(w, DBOI_BAGEXT, p))
|
||||
|
||||
|
||||
/* Establecimiento de filtros y mbitos */
|
||||
|
||||
//#define SUPER_CLEARFILTER(w) ((*(SUPERTABLE)->clearFilter)(w))
|
||||
//#define SUPER_CLEARLOCATE(w) ((*(SUPERTABLE)->clearLocate)(w))
|
||||
//#define SUPER_CLEARSCOPE(w) ((*(SUPERTABLE)->clearScope)(w))
|
||||
//#define SUPER_COUNTSCOPE(w,ip,lp) ((*(SUPERTABLE)->countScope)(w,ip,lp))
|
||||
//#define SUPER_FILTERTEXT(w, bp) ((*(SUPERTABLE)->filterText)(w, bp))
|
||||
//#define SUPER_SCOPEINFO(w,i,v) ((*(SUPERTABLE)->scopeInfo)(w,i,v))
|
||||
//#define SUPER_SETFILTER(w, ip) ((*(SUPERTABLE)->setFilter)(w, ip))
|
||||
//#define SUPER_SETLOCATE(w, ip) ((*(SUPERTABLE)->setLocate)(w, ip))
|
||||
//#define SUPER_SETSCOPE(w, ip) ((*(SUPERTABLE)->setScope)(w, ip))
|
||||
//#define SUPER_SKIPSCOPE(w, bp, l) ((*(SUPERTABLE)->skipScope)(w, bp, l))
|
||||
|
||||
|
||||
/* Diversos */
|
||||
|
||||
//#define SUPER_COMPILE(w, bp) ((*(SUPERTABLE)->compile)(w, bp))
|
||||
//#define SUPER_ERROR(w, ip) ((*(SUPERTABLE)->error)(w, ip))
|
||||
//#define SUPER_EVALBLOCK(w, v) ((*(SUPERTABLE)->evalBlock)(w, v))
|
||||
|
||||
|
||||
/* Operaciones de red */
|
||||
|
||||
//#define SUPER_GETLOCKS(w, g) ((*(SUPERTABLE)->info)(w, DBI_GETLOCKARRAY, g))
|
||||
//#define SUPER_RAWLOCK(w, i, l) ((*(SUPERTABLE)->rawlock)(w, i, l))
|
||||
//#define SUPER_LOCK(w, sp) ((*(SUPERTABLE)->lock)(w, sp))
|
||||
//#define SUPER_UNLOCK(w) ((*(SUPERTABLE)->unlock)(w))
|
||||
|
||||
|
||||
/* Funciones de ficheros memo */
|
||||
|
||||
//#define SUPER_CLOSEMEMFILE(w) ((*(SUPERTABLE)->closeMemFile)(w))
|
||||
//#define SUPER_CREATEMEMFILE(w,bp) ((*(SUPERTABLE)->createMemFile)(w,bp))
|
||||
//#define SUPER_GETVALUEFILE(w,i,bp,b) ((*(SUPERTABLE)->getValueFile)(w,i,bp,b))
|
||||
//#define SUPER_OPENMEMFILE(w,bp) ((*(SUPERTABLE)->openMemFile)(w,bp))
|
||||
//#define SUPER_PUTVALUEFILE(w,i,bp) ((*(SUPERTABLE)->putValueFile)(w,i,bp))
|
||||
|
||||
|
||||
/* Manejo de cabeceras de ficheros de base de datos */
|
||||
|
||||
//#define SUPER_READDBHEADER(w) ((*(SUPERTABLE)->readDBHeader)(w))
|
||||
//#define SUPER_WRITEDBHEADER(w) ((*(SUPERTABLE)->writeDBHeader)(w))
|
||||
|
||||
|
||||
/* Operaciones Info */
|
||||
|
||||
//#define SUPER_RECSIZE(w, lp) ((*(SUPERTABLE)->info)(w, DBI_GETRECSIZE, lp))
|
||||
//#define SUPER_HEADERSIZE(w, fp) ((*(SUPERTABLE)->info)(w, DBI_GETHEADERSIZE, fp))
|
||||
//#define SUPER_LUPDATE(w, fp) ((*(SUPERTABLE)->info)(w, DBI_LASTUPDATE, fp ))
|
||||
//#define SUPER_SETDELIM(w, fp) ((*(SUPERTABLE)->info)(w, DBI_SETDELIMITER, fp))
|
||||
//#define SUPER_GETDELIM(w, fp) ((*(SUPERTABLE)->info)(w, DBI_GETDELIMITER, fp))
|
||||
//#define SUPER_TABLEEXT(w, fp) ((*(SUPERTABLE)->info)(w, DBI_TABLEEXT, fp))
|
||||
|
||||
|
||||
/*
|
||||
* PROTOTYPES
|
||||
* ----------
|
||||
*/
|
||||
ERRCODE hb_rddInherit( PRDDFUNCS pTable, PRDDFUNCS pSubTable, PRDDFUNCS pSuperTable, PBYTE szDrvName );
|
||||
extern ERRCODE hb_rddDisinherit( BYTEP drvName );
|
||||
extern USHORT hb_rddExtendType( USHORT fieldType );
|
||||
extern USHORT hb_rddFieldType( USHORT extendType );
|
||||
|
||||
#endif /* HB_RDDAPI_H_ */
|
||||
@@ -1,5 +1,8 @@
|
||||
/* $Id$
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
Harbour Project source code
|
||||
|
||||
This module contains the defines needed for Harbour programs to use
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
/* $Id$
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
Harbour Project source code
|
||||
|
||||
This module contains the Harbour declarations for SET management.
|
||||
|
||||
@@ -2,10 +2,13 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/* CA-Cl*pper API Compatibility Header File */
|
||||
/* DON'T USE THIS FILE FOR NEW HARBOUR C CODE */
|
||||
|
||||
#ifndef HB_VM_API_
|
||||
#define HB_VM_API_
|
||||
|
||||
#define HANDLE void*
|
||||
typedef void* HANDLE;
|
||||
|
||||
/* Standard */
|
||||
#define _xvalloc(size, flags) hb_xalloc(size)
|
||||
|
||||
@@ -26,8 +26,8 @@
|
||||
#include "init.h"
|
||||
#include "itemapi.h"
|
||||
#include "errorapi.h"
|
||||
#include "rddapi.h"
|
||||
#include "set.h"
|
||||
#include "rdd.api"
|
||||
#include "rddsys.ch"
|
||||
#include "ctoharb.h"
|
||||
#include "set.ch"
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
|
||||
#include "extend.h"
|
||||
#include "init.h"
|
||||
#include "rddapi.h"
|
||||
#include "rddsys.ch"
|
||||
#include "rdd.api"
|
||||
|
||||
HARBOUR HB__DBF( void );
|
||||
HARBOUR HB_DBF_GETFUNCTABLE( void );
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
|
||||
#include "extend.h"
|
||||
#include "init.h"
|
||||
#include "rddapi.h"
|
||||
#include "rddsys.ch"
|
||||
#include "rdd.api"
|
||||
|
||||
HARBOUR HB__DBFNTX( void );
|
||||
HARBOUR HB_DBFNTX_GETFUNCTABLE( void );
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
|
||||
#include "extend.h"
|
||||
#include "init.h"
|
||||
#include "rddapi.h"
|
||||
#include "rddsys.ch"
|
||||
#include "rdd.api"
|
||||
|
||||
HARBOUR HB__DELIM( void );
|
||||
HARBOUR HB_DELIM_GETFUNCTABLE( void );
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
|
||||
#include "extend.h"
|
||||
#include "init.h"
|
||||
#include "rddapi.h"
|
||||
#include "rddsys.ch"
|
||||
#include "rdd.api"
|
||||
|
||||
HARBOUR HB__SDF( void );
|
||||
HARBOUR HB_SDF_GETFUNCTABLE( void );
|
||||
|
||||
Reference in New Issue
Block a user