989 lines
34 KiB
Plaintext
989 lines
34 KiB
Plaintext
/*
|
||
* $Id$
|
||
*/
|
||
|
||
#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 );
|
||
|
||
|
||
#endif
|