home *** CD-ROM | disk | FTP | other *** search
- ;=============================================================================
- ; Copyright (c), 1988-1996, Pervasive Software Inc.
- ; All Rights Reserved
- ;=============================================================================
- ;=============================================================================
- ; SQLCOB.ASM
- ; This module contains the code for interfacing Scalable SQL to supported
- ; COBOL compilers. Both SQL-level and Primitive-level APIs are handled.
- ;=============================================================================
- IFDEF REALIA4
- EXTRN CSA$BASE : BYTE ;Realia 4.0 COBOL Stack Area
- CSA$RTN EQU WORD PTR [0000H] ;Realia 4.0 COBOL return value stack offset
- ENDIF
-
- INCLUDE XMACRO.MAC
- .8087
- STARTFILE SQLCOB
- ASSUME SS:DGROUP
-
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN callxql
- push bp
- mov bp,sp
- push ds
- mov WORD PTR es:[bx+8],-1
- mov ax,SessionID
- mov WORD PTR es:[bx+10],ax
- mov ax, es
- mov ds, ax
- mov dx, bx
- int 7bh
- sub ax,ax
- pop ds
- pop bp
- ret
- ENDSUBFN callxql
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN callxqlm
- push bp
- mov bp,sp
- push ds
- mov ax,DGROUP
- mov ds,ax
- les bx,DWORD PTR [bp+6] ;ptr
- mov BYTE PTR es:[bx], 'X'
- mov BYTE PTR es:[bx+1],'Q'
- mov BYTE PTR es:[bx+2],'L'
- mov BYTE PTR es:[bx+3],'M'
- mov ax, [bp+10] ;fcn
- mov word ptr es:[bx+4], ax
- mov word ptr es:[bx+8], -1
- call callxql
- pop ds
- pop bp
- ret
- ENDSUBFN callxqlm
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN xqlm_loaded
- push bp
- mov bp,sp
- sub sp,28
- push ds
- mov ax,DGROUP
- mov ds,ax
- mov ax, 357bh
- int 21h
- mov ax,SEG SQLCODE
- mov es,ax
- mov WORD PTR es:SQLCODE,802
- cmp bx, 33h
- jne $I408
- mov WORD PTR [bp-14],-1
- lea ax,WORD PTR [bp-2] ;btrstat
- mov WORD PTR [bp-6],ax
- mov WORD PTR [bp-4],ss
- mov ax,-1
- push ax
- lea ax,WORD PTR [bp-28] ;XQLMPARMS
- push ss
- push ax
- call callxqlm
- add sp,6
- cmp WORD PTR [bp-20],503
- jne $I408
- mov ax,SEG SQLCODE
- mov es,ax
- mov WORD PTR es:SQLCODE,0
- $I408:
- mov ax,SEG SQLCODE
- mov es,ax
- cmp WORD PTR es:SQLCODE,1
- sbb ax,ax
- neg ax
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN xqlm_loaded
-
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN NotLoaded
- mov ax,SEG SQLCODE
- mov es,ax
- mov ax,WORD PTR es:SQLCODE
- les bx,DWORD PTR [bp+6] ;STATUS
- mov WORD PTR es:[bx],ax
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN NotLoaded
-
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XQLCOMPILE
- push bp
- mov bp,sp
- sub sp,18 ; size of xqlparm block plus variable parameters
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlm_loaded
- or ax,ax
- jne $I219
- jmp NotLoaded
- $I219:
- les bx,DWORD PTR [bp+10] ;CURSORID
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-12],ax
- ;
- les bx,DWORD PTR [bp+14] ;LENGTH
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- ;
- les bx,dword ptr [bp+18] ;STATEMENT
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,3
- push ax
- lea ax,WORD PTR [bp-18] ;XQLMPARMS
- push ss
- push ax
- call callxqlm
- add sp,6
- ;
- les bx,DWORD PTR [bp+14] ;LENGTH
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-10]
- mov WORD PTR es:[bx],ax
- ;
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- mov ax,WORD PTR [bp-10]
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XQLCOMPILE
-
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XQLCURSOR
- push bp
- mov bp,sp
- sub sp,14 ; size of xqlparm block plus variable parameters
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlm_loaded
- or ax,ax
- jne $I229
- jmp NotLoaded
- $I229:
- mov WORD PTR [bp-8],-1
- mov ax,2
- push ax
- lea ax,WORD PTR [bp-14] ;XQLMPARMS
- push ss
- push ax
- call callxqlm
- add sp,6
- les bx,DWORD PTR [bp+10] ;CURSORID
- mov ax,WORD PTR [bp-8]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-6]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XQLCURSOR
-
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XQLDESCRIBE
- push bp
- mov bp,sp
- sub sp,28 ; size of xqlparm block plus variable parameters
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlm_loaded
- or ax,ax
- jne $I245
- jmp NotLoaded
- $I245:
- les bx,DWORD PTR [bp+10] ;CURSORID
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-22],ax
- ;
- les bx,DWORD PTR [bp+14] ;POS
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-16],ax
- ;
- les bx,DWORD PTR [bp+34] ;NLENGTH
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- ;
- les bx, dword ptr [bp+30] ;NAME
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,6
- push ax
- lea ax,WORD PTR [bp-28] ;XQLMPARMS
- push ss
- push ax
- call callxqlm
- add sp,6
- ;
- les bx,DWORD PTR [bp+18] ;DTYPE
- mov ax,WORD PTR [bp-14]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+22] ;SIZE
- mov ax,WORD PTR [bp-12]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+26] ;DEC
- mov ax,WORD PTR [bp-10]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+30] ;DSIZE
- mov ax,WORD PTR [bp-8]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+34] ;NLENGTH
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-20]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-20]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XQLDESCRIBE
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XQLEXEC
- push bp
- mov bp,sp
- sub sp,14 ; size of xqlparm block plus variable parameters
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlm_loaded
- or ax,ax
- jne $I254
- jmp NotLoaded
- $I254:
- les bx,DWORD PTR [bp+10] ;CURSORID
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-8],ax
- ;
- mov ax,8
- push ax
- lea ax,WORD PTR [bp-14] ;XQLMPARMS
- push ss
- push ax
- call callxqlm
- add sp,6
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-6]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XQLEXEC
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XQLFETCH
- push bp
- mov bp,sp
- sub sp,28 ; size of xqlparm block plus variable parameters
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlm_loaded
- or ax,ax
- jne $I269
- jmp NotLoaded
- $I269:
- les bx,DWORD PTR [bp+10] ;CURSORID
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-22],ax
- ;
- les bx,DWORD PTR [bp+18] ;DLEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-14],ax
- ;
- les bx,DWORD PTR [bp+14] ;OPERATION
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-16],ax
- ;
- les bx, dword ptr [bp+22] ;BUF
- mov WORD PTR [bp-12],bx
- mov WORD PTR [bp-10],es
- ;
- les bx,DWORD PTR [bp+26] ;SELECT
- mov ax,WORD PTR es:[bx]
- cwd
- mov WORD PTR [bp-8],ax
- mov WORD PTR [bp-6],dx
- ;
- les bx,DWORD PTR [bp+30] ;ASCII
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-4],ax
- ;
- les bx,DWORD PTR [bp+34] ;SPACING
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-2],ax
- ;
- mov ax,5
- push ax
- lea ax,WORD PTR [bp-28] ;XQLMPARMS
- push ss
- push ax
- call callxqlm
- add sp,6
- ;
- les bx,DWORD PTR [bp+18] ;DLEN
- mov ax,WORD PTR [bp-14]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+26] ;SELECT
- mov ax,WORD PTR [bp-8]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-20]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-20]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XQLFETCH
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XQLFORMAT
- push bp
- mov bp,sp
- sub sp,20 ; size of xqlparm block plus variable parameters
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlm_loaded
- or ax,ax
- jne $I281
- jmp NotLoaded
- $I281:
- les bx,DWORD PTR [bp+10] ;CURSORID
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-14],ax
- ;
- les bx,DWORD PTR [bp+14] ;POS
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-8],ax
- ;
- les bx,DWORD PTR [bp+18] ;LENGTH
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- ;
- les bx, dword ptr [bp+22] ;MASK
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,4
- push ax
- lea ax,WORD PTR [bp-20] ;XQLMPARMS
- push ss
- push ax
- call callxqlm
- add sp,6
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-12]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-12]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XQLFORMAT
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XQLFREE
- push bp
- mov bp,sp
- sub sp,14 ; size of xqlparm block plus variable parameters
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlm_loaded
- or ax,ax
- jne $I290
- jmp NotLoaded
- $I290:
- les bx,DWORD PTR [bp+10] ;CURSORID
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-8],ax
- ;
- mov ax,9
- push ax
- lea ax,WORD PTR [bp-14] ;XQLMPARMS
- push ss
- push ax
- call callxqlm
- add sp,6
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-6]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XQLFREE
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XQLLOGIN
- push bp
- mov bp,sp
- sub sp,34 ; size of xqlparm block plus variable parameters
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlm_loaded
- or ax,ax
- jne $I304
- jmp NotLoaded
- $I304:
- mov WORD PTR [bp-28],0
- les bx, dword ptr [bp+10] ;USERID
- mov WORD PTR [bp-22],bx
- mov WORD PTR [bp-20],es
-
- les bx, dword ptr [bp+14] ;PSWD
- mov WORD PTR [bp-18],bx
- mov WORD PTR [bp-16],es
-
- les bx, dword ptr [bp+18] ;DICTIONARY
- mov WORD PTR [bp-14],bx
- mov WORD PTR [bp-12],es
-
- les bx, dword ptr [bp+22] ;FILEPATH
- mov WORD PTR [bp-10],bx
- mov WORD PTR [bp-8],es
-
- les bx, dword ptr [bp+26] ;MACHINE
- mov WORD PTR [bp-6],bx
- mov WORD PTR [bp-4],es
- les bx,DWORD PTR [bp+30] ;PROCESSID
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-2],ax
- sub ax,ax
- push ax
- lea ax,WORD PTR [bp-34] ;XQLMPARMS
- push ss
- push ax
- call callxqlm
- add sp,6
- cmp WORD PTR [bp-26],0
- jne $I305
- mov ax,WORD PTR [bp-24]
- mov SessionID,ax
- $I305:
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-26]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-26]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XQLLOGIN
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XQLLOGOUT
- push bp
- mov bp,sp
- sub sp,14 ; size of xqlparm block plus variable parameters
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlm_loaded
- or ax,ax
- jne $I313
- jmp NotLoaded
- $I313:
- mov ax,1
- push ax
- lea ax,WORD PTR [bp-14] ;XQLMPARMS
- push ss
- push ax
- call callxqlm
- add sp,6
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-6]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XQLLOGOUT
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XQLSTATUS
- push bp
- mov bp,sp
- sub sp,18 ; size of xqlparm block plus variable parameters
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlm_loaded
- or ax,ax
- jne $I324
- jmp NotLoaded
- $I324:
- les bx,DWORD PTR [bp+10] ;CURSORID
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-12],ax
- ;
- les bx,DWORD PTR [bp+14] ;SUBFUNCTION
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- ;
- les bx, dword ptr [bp+18] ;BUF
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,10
- push ax
- lea ax,WORD PTR [bp-18] ;XQLMPARMS
- push ss
- push ax
- call callxqlm
- add sp,6
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-10]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-10]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XQLSTATUS
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XQLSTOP
- push bp
- mov bp,sp
- sub sp,14 ; size of xqlparm block plus variable parameters
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlm_loaded
- or ax,ax
- jne $I332
- jmp NotLoaded
- $I332:
- mov ax,11
- push ax
- lea ax,WORD PTR [bp-14] ;XQLMPARMS
- push ss
- push ax
- call callxqlm
- add sp,6
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-6]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XQLSTOP
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XQLSUBST
- push bp
- mov bp,sp
- sub sp,26 ; size of xqlparm block plus variable parameters
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlm_loaded
- or ax,ax
- jne $I346
- jmp NotLoaded
- $I346:
- les bx,DWORD PTR [bp+10] ;CURSORID
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-20],ax
- ;
- les bx,DWORD PTR [bp+14] ;COUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-14],ax
- ;
- les bx,DWORD PTR [bp+18] ;NLEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-12],ax
- ;
- les bx, dword ptr [bp+22] ;VNAME
- mov WORD PTR [bp-10],bx
- mov WORD PTR [bp-8],es
- ;
- les bx,DWORD PTR [bp+26] ;TLEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- ;
- les bx, dword ptr [bp+30] ;VTEXT
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,7
- push ax
- lea ax,WORD PTR [bp-26] ;XQLMPARMS
- push ss
- push ax
- call callxqlm
- add sp,6
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-18]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-18]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XQLSUBST
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XQLVERSION
- push bp
- mov bp,sp
- sub sp,16 ; size of xqlparm block plus variable parameters
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlm_loaded
- or ax,ax
- jne $I355
- jmp NotLoaded
- $I355:
- les bx, dword ptr [bp+10] ;BUFFER
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,12
- push ax
- lea ax,WORD PTR [bp-16] ;XQLMPARMS
- push ss
- push ax
- call callxqlm
- add sp,6
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-8]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-8]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
-
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
-
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XQLVERSION
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XQLCONVERT
- push bp
- mov bp,sp
- sub sp,36 ; size of xqlparm block plus variable parameters
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlm_loaded
- or ax,ax
- jne $I372
- jmp NotLoaded
- $I372:
- mov WORD PTR [bp-32],13
- les bx,DWORD PTR [bp+10] ;OPTION
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-24],ax
- ;
- les bx,DWORD PTR [bp+14] ;TYPE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-22],ax
- ;
- les bx,DWORD PTR [bp+18] ;SIZE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-20],ax
- ;
- les bx,DWORD PTR [bp+22] ;DEC
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-18],ax
- ;
- les bx,DWORD PTR [bp+26] ;DSIZE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-16],ax
- ;
- les bx, dword ptr [bp+30] ;VALUE
- mov WORD PTR [bp-14],bx
- mov WORD PTR [bp-12],es
- ;
- les bx, dword ptr [bp+34] ;RETVAL
- mov WORD PTR [bp-10],bx
- mov WORD PTR [bp-8],es
- ;
- les bx, dword ptr [bp+38] ;MASK
- mov WORD PTR [bp-6],bx
- mov WORD PTR [bp-4],es
- ;
- les bx,DWORD PTR [bp+42] ;JUST
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-2],ax
- ;
- mov ax,13
- push ax
- lea ax,WORD PTR [bp-36] ;XQLMPARMS
- push ss
- push ax
- call callxqlm
- add sp,6
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-28]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-28]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XQLCONVERT
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XQLVALIDATE
- push bp
- mov bp,sp
- sub sp,24 ; size of xqlparm block plus variable parameters
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlm_loaded
- or ax,ax
- jne $I384
- jmp NotLoaded
- $I384:
- mov WORD PTR [bp-20],14
- les bx, dword ptr [bp+14] ;FIELDNAME
- mov WORD PTR [bp-10],bx
- mov WORD PTR [bp-8],es
- ;
- les bx,DWORD PTR [bp+10] ;COUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-12],ax
- ;
- les bx,DWORD PTR [bp+18] ;BUFLEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- ;
- les bx, dword ptr [bp+22] ;DATA
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,14
- push ax
- lea ax,WORD PTR [bp-24] ;XQLMPARMS
- push ss
- push ax
- call callxqlm
- add sp,6
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-16]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+10] ;COUNT
- mov ax,WORD PTR [bp-12]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-16]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XQLVALIDATE
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XQLMASK
- push bp
- mov bp,sp
- sub sp,26 ; size of xqlparm block plus variable parameters
- push ds
- mov ax,DGROUP
- mov ds,ax
- ; Line 794
- push cs
- call xqlm_loaded
- or ax,ax
- jne $I398
- jmp NotLoaded
- $I398:
- mov WORD PTR [bp-22],15
- les bx,DWORD PTR [bp+10] ;OPTION
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-14],ax
- ;
- les bx,DWORD PTR [bp+14] ;TYPE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-12],ax
- ;
- les bx,DWORD PTR [bp+18] ;SIZE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-10],ax
- ;
- les bx,DWORD PTR [bp+22] ;DEC
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-8],ax
- ;
- les bx,DWORD PTR [bp+26] ;LEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- ;
- les bx, dword ptr [bp+30] ;MASK
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,15
- push ax
- lea ax,WORD PTR [bp-26] ;XQLMPARMS
- push ss
- push ax
- call callxqlm
- add sp,6
- ;
- les bx,DWORD PTR [bp+26] ;LEN
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-18]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-18]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XQLMASK
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XQLSPUTILITY
- push bp
- mov bp,sp
- sub sp,24 ; size of xqlparm block plus variable parameters
- push di
- push si
- push ds
- mov ax,DGROUP
- mov ds,ax
- ;
- ; CURSORID = [bp+10]
- ; OPTION = [bp+14]
- ; STMNTCNT = [bp+18]
- ; STMNTID = [bp+22]
- ; BLEN = [bp+26]
- ; BUFFER = [bp+30]
- ;
- push cs
- call xqlm_loaded
- or ax,ax
- jne SPU_1
- jmp NotLoaded
-
- SPU_1:
- les bx, DWORD PTR [bp+10] ; CURSORID
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-18],ax
-
- les bx, DWORD PTR [bp+14] ; OPTION
- mov ax, WORD PTR es:[bx]
- mov WORD PTR [bp-12],ax
-
- les bx,DWORD PTR [bp+18] ; STMNTCNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-10],ax
-
- les bx,DWORD PTR [bp+22] ; STMNTID
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-8],ax
- ;
- les bx,DWORD PTR [bp+26] ; BLEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- ;
- les bx, dword ptr [bp+30] ; BUFFER
- mov word ptr [bp-4], bx
- mov word ptr [bp-2], es
-
- mov ax, 16 ; Function number
- push ax
- lea ax, word ptr [bp-24] ; XQLMPARMS
- push ss
- push ax
- call callxqlm
- add sp, 6
- les bx, dword ptr [bp+18] ; STMNTCNT
- mov ax, word ptr [bp-10]
- mov word ptr es:[bx], ax
- ;
- les bx, dword ptr [bp+22] ; STMNTID
- mov ax, word ptr [bp-8]
- mov word ptr es:[bx], ax
- ;
- les bx, dword ptr [bp+26] ; BLEN
- mov ax, word ptr [bp-6]
- mov word ptr es:[bx], ax
- ;
- les bx, dword ptr [bp+6] ; STATUS
- mov ax, word ptr [bp-16]
- mov word ptr es:[bx], ax
- ;
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XQLSPUTILITY
-
- ;=============================================================================
- ;
- ; Relational Primitive interface to COBOL language.
- ;
- ;=============================================================================
- SUBFN callxqlp
- push bp
- mov bp,sp
- push ds
- mov ax,DGROUP
- mov ds,ax
- les bx,DWORD PTR [bp+6] ;XQLPPARMS
- mov BYTE PTR es:[bx], 'X'
- mov BYTE PTR es:[bx+1],'Q'
- mov BYTE PTR es:[bx+2],'L'
- mov BYTE PTR es:[bx+3],'P'
- mov ax,WORD PTR [bp+10] ;fcn
- mov WORD PTR es:[bx+4],ax
- call callxql
- pop ds
- pop bp
- ret
- ENDSUBFN callxqlp
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN xqlloaded
- push bp
- mov bp,sp
- sub sp,30
- push ds
- mov ax,DGROUP
- mov ds,ax
- mov ax, 357bh
- int 21h ; Is Btrieve installed?
- ;
- xor ax,ax
- cmp bx, 33h ; Check for offset 33
- jne $I902
- mov WORD PTR [bp-14],-1
- lea ax,WORD PTR [bp-2] ;btrstat
- mov WORD PTR [bp-6],ax
- mov WORD PTR [bp-4],ss
- mov ax,-1
- push ax
- lea ax,WORD PTR [bp-28] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- xor ax,ax
- cmp WORD PTR [bp-20],201
- je $I903
- cmp WORD PTR [bp-20],503
- jne $I902
- $I903:
- mov ax,1 ;stat
- $I902:
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN xqlloaded
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN NotLoaded_xqlp
- les bx,DWORD PTR [bp+6] ;STATUS
- mov WORD PTR es:[bx],200
- mov ax,200
-
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
-
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN NotLoaded_xqlp
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XCOMPUTE
- push bp
- mov bp,sp
- sub sp,28
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I380
- jmp NotLoaded_xqlp
- $I380:
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-22],ax
- ;
- les bx,DWORD PTR [bp+14] ;FLDNAME
- mov WORD PTR [bp-16],bx
- mov WORD PTR [bp-14],es
- ;
- les bx,DWORD PTR [bp+18] ;TYPE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-12],ax
- ;
- les bx,DWORD PTR [bp+22] ;SIZE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-10],ax
- ;
- les bx,DWORD PTR [bp+26] ;DEC
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-8],ax
- ;
- les bx,DWORD PTR [bp+30] ;EXPLEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- ;
- les bx,DWORD PTR [bp+34] ;EXPBUF
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,8
- push ax
- lea ax,WORD PTR [bp-28] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- cmp WORD PTR [bp-20],0
- jle $I382
- ;
- les bx,DWORD PTR [bp+30] ;EXPLEN
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- ;
- $I382:
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-20]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-20]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XCOMPUTE
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XDESCRIBE
- push bp
- mov bp,sp
- sub sp,24
- push ds
- mov ax,DGROUP
- mov ds,ax
- ;
- ; HANDLE = 10
- ; SUBF = 14
- ; DLEN = 18
- ; POS = 22
- ; COUNT = 26
- ; BUF = 30
- ; XQLPPARMS = -24
- ; STATUS = 6
- ;
- call xqlloaded
- or ax,ax
- jne $I396
- jmp NotLoaded_xqlp
- ;
- ;
- $I396:
- ;
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-18],ax
- ;
- les bx,DWORD PTR [bp+14] ;SUBF
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-12],ax
- ;
- les bx,DWORD PTR [bp+18] ;DLEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-10],ax
- ;
- les bx,DWORD PTR [bp+22] ;POS
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-8],ax
- ;
- les bx,DWORD PTR [bp+26] ;COUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- ;
- mov ax,WORD PTR [bp+30] ;BUF
- mov dx,WORD PTR [bp+32]
- mov WORD PTR [bp-4],ax
- mov WORD PTR [bp-2],dx
- ;
- mov ax,6
- push ax
- lea ax,WORD PTR [bp-24] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- les bx,DWORD PTR [bp+18] ;DLEN
- mov ax,WORD PTR [bp-10]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+26] ;COUNT
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-16]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-16]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
-
- ENDSUBFN XDESCRIBE
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XFETCH
- push bp
- mov bp,sp
- sub sp,28
- push ds
- mov ax,DGROUP
- mov ds,ax
- ;
- ; STATUS = 6
- ; HANDLE = 10
- ; DLEN = 14
- ; OP = 18
- ; SELECT = 22
- ; REJECT = 26
- ; BUF = 30
- ; XQLPPARMS = -28
- ;
- call xqlloaded
- or ax,ax
- jne $I421
- jmp NotLoaded_xqlp
- $I421:
- ;
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-22],ax
- ;
- les bx,DWORD PTR [bp+14] ;DLEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-16],ax
- ;
- les bx,DWORD PTR [bp+18] ;OP
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-14],ax
- ;
- les bx,DWORD PTR [bp+22] ;SELECT
- mov ax,WORD PTR es:[bx]
- cwd
- mov WORD PTR [bp-12],ax
- mov WORD PTR [bp-10],dx
- ;
- les bx,DWORD PTR [bp+26] ;REJECT
- mov ax,WORD PTR es:[bx]
- cwd
- mov WORD PTR [bp-8],ax
- mov WORD PTR [bp-6],dx
- ;
- mov ax,WORD PTR [bp+30] ;BUF
- mov dx,WORD PTR [bp+32]
- mov WORD PTR [bp-4],ax
- mov WORD PTR [bp-2],dx
- ;
- mov ax,7
- push ax
- lea ax,WORD PTR [bp-28] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- les bx,DWORD PTR [bp+14] ;DLEN
- mov ax,WORD PTR [bp-16]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+22] ;SELECT
- mov ax,WORD PTR [bp-12]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+26] ;REJECT
- mov ax,WORD PTR [bp-8]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-20]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-20]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
-
- ENDSUBFN XFETCH
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XFIELD
- push bp
- mov bp,sp
- sub sp,22
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I434
- jmp NotLoaded_xqlp
- $I434:
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-16],ax
- ;
- les bx,DWORD PTR [bp+14] ;SUBFUNCTION
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-10],ax
- ;
- les bx,DWORD PTR [bp+18] ;POS
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-8],ax
- ;
- les bx,DWORD PTR [bp+22] ;COUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- ;
- les bx,dword ptr [bp+26]
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,5
- push ax
- lea ax,WORD PTR [bp-22] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- cmp WORD PTR [bp-14],0
- jl $I435
- ;
- les bx,DWORD PTR [bp+22] ;COUNT
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- ;
- $I435:
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-14]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-14]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
-
- ENDSUBFN XFIELD
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XFREE
- push bp
- mov bp,sp
- sub sp,14
- push ds
- mov ax,DGROUP
- mov ds,ax
- ;
- ; STATUS = 6
- ; HANDLE = 10
- ; XQLPPARMS = -14
- ;
- call xqlloaded
- or ax,ax
- jne $I444
- jmp NotLoaded_xqlp
- $I444:
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-8],ax
- ;
- mov ax,3
- push ax
- lea ax,WORD PTR [bp-14] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-6]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
-
- ENDSUBFN XFREE
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XINSERT
- push bp
- mov bp,sp
- sub sp,26
- push ds
- mov ax,DGROUP
- mov ds,ax
- ;
- ; FILES = 18
- ; EDITCNT = 22
- ; BUF = 26
- ; XQLPPARMS = -26
- ; STATUS = 6
- ; HANDLE = 10
- ; FCOUNT = 14
- ;
- call xqlloaded
- or ax,ax
- jne $I457
- ;
- jmp NotLoaded_xqlp
- $I457:
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-20],ax
- ;
- les bx,DWORD PTR [bp+14] ;FCOUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-14],ax
- ;
- les bx,dword ptr [bp+18]
- mov WORD PTR [bp-12],bx
- mov WORD PTR [bp-10],es
- ;
- les bx,DWORD PTR [bp+22] ;EDITCNT
- mov ax,WORD PTR es:[bx]
- cwd
- mov WORD PTR [bp-8],ax
- mov WORD PTR [bp-6],dx
- ;
- les bx,dword ptr [bp+26]
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,12
- push ax
- lea ax,WORD PTR [bp-26] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- les bx,DWORD PTR [bp+22] ;EDITCNT
- mov ax,WORD PTR [bp-8]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+14] ;FCOUNT
- mov ax,WORD PTR [bp-14]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-18]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-18]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XINSERT
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XJOIN
- push bp
- mov bp,sp
- sub sp,34
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I473
- jmp NotLoaded_xqlp
- $I473:
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-28],ax
- ;
- les bx,dword ptr [bp+14]
- mov WORD PTR [bp-22],bx
- mov WORD PTR [bp-20],es
- ;
- les bx,dword ptr [bp+18]
- mov WORD PTR [bp-18],bx
- mov WORD PTR [bp-16],es
- ;
- les bx,DWORD PTR [bp+22] ;JOINTYPE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-14],ax
- ;
- les bx,DWORD PTR [bp+26] ;PCOUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-12],ax
- ;
- les bx,dword ptr [bp+30]
- mov WORD PTR [bp-10],bx
- mov WORD PTR [bp-8],es
- ;
- les bx,DWORD PTR [bp+34] ;SCOUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- ;
- les bx,dword ptr [bp+38] ;SNAMES
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,11
- push ax
- lea ax,WORD PTR [bp-34] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-26]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-26]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XJOIN
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XLOGIN
- push bp
- mov bp,sp
- sub sp,34
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I487
- jmp NotLoaded_xqlp
- $I487:
- mov WORD PTR [bp-28],0
- les bx,dword ptr [bp+10] ;userid
- mov WORD PTR [bp-22],bx
- mov WORD PTR [bp-20],es
- ;
- les bx,dword ptr [bp+14] ;pswd
- mov WORD PTR [bp-18],bx
- mov WORD PTR [bp-16],es
- ;
- les bx,dword ptr [bp+18] ;dictionary
- mov WORD PTR [bp-14],bx
- mov WORD PTR [bp-12],es
- ;
- les bx,dword ptr [bp+22] ;filepath
- mov WORD PTR [bp-10],bx
- mov WORD PTR [bp-8],es
- ;
- les bx,dword ptr [bp+26] ;machine
- mov WORD PTR [bp-6],bx
- mov WORD PTR [bp-4],es
- ;
- les bx,DWORD PTR [bp+30] ;PROCESSID
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-2],ax
- ;
- sub ax,ax
- push ax
- lea ax,WORD PTR [bp-34] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- cmp WORD PTR [bp-26],0
- jne $I488
- ;
- mov ax,WORD PTR [bp-24]
- mov SessionID,ax
- $I488:
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-26]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-26]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XLOGIN
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XLOGOUT
- push bp
- mov bp,sp
- sub sp,14
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I496
- jmp NotLoaded_xqlp
- $I496:
- mov WORD PTR [bp-8],0
- mov ax,1
- push ax
- lea ax,WORD PTR [bp-14] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-6]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
-
- ENDSUBFN XLOGOUT
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XMOVEFLD
- push bp
- mov bp,sp
- sub sp,16
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I407
- jmp NotLoaded_xqlp
- $I407:
- ;
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-10],ax
- ;
- les bx,DWORD PTR [bp+14] ;FROMPOS
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-4],ax
- ;
- les bx,DWORD PTR [bp+18] ;TOPOS
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-2],ax
- ;
- mov ax,4
- push ax
- lea ax,WORD PTR [bp-16] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-8]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-8]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
-
- ENDSUBFN XMOVEFLD
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XNEW
- push bp
- mov bp,sp
- sub sp,22
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I508
- jmp NotLoaded_xqlp
- $I508:
- mov WORD PTR [bp-16],-1
- les bx,dword ptr [bp+14] ;filename
- mov WORD PTR [bp-10],bx
- mov WORD PTR [bp-8],es
- ;
- les bx,dword ptr [bp+18] ;owner
- mov WORD PTR [bp-6],bx
- mov WORD PTR [bp-4],es
- ;
- les bx,DWORD PTR [bp+22] ;OPENMODE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-2],ax
- ;
- mov ax,2
- push ax
- lea ax,WORD PTR [bp-22] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- cmp WORD PTR [bp-14],0
- jne $I509
- ;
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR [bp-16]
- mov WORD PTR es:[bx],ax
- ;
- $I509:
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-14]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-14]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XNEW
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XORDER
- push bp
- mov bp,sp
- sub sp,18
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I520
- jmp NotLoaded_xqlp
- $I520:
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-12],ax
- ;
- les bx,DWORD PTR [bp+14] ;COUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- ;
- les bx,dword ptr [bp+18] ;buf
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,9
- push ax
- lea ax,WORD PTR [bp-18] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-10]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-10]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
-
- ENDSUBFN XORDER
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XREMALL
- push bp
- mov bp,sp
- sub sp,28
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I534
- jmp NotLoaded_xqlp
- $I534:
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-22],ax
- ;
- les bx,DWORD PTR [bp+14] ;FCOUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-16],ax
- ;
- les bx,dword ptr [bp+18] ;files
- mov WORD PTR [bp-14],bx
- mov WORD PTR [bp-12],es
- ;
- les bx,DWORD PTR [bp+22] ;OP
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-10],ax
- ;
- les bx,DWORD PTR [bp+26] ;SELECT
- mov ax,WORD PTR es:[bx]
- cwd
- mov WORD PTR [bp-8],ax
- mov WORD PTR [bp-6],dx
- ;
- les bx,DWORD PTR [bp+30] ;REJECT
- mov ax,WORD PTR es:[bx]
- cwd
- mov WORD PTR [bp-4],ax
- mov WORD PTR [bp-2],dx
- ;
- mov ax,16
- push ax
- lea ax,WORD PTR [bp-28] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- les bx,DWORD PTR [bp+26] ;SELECT
- mov ax,WORD PTR [bp-8]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+30] ;REJECT
- mov ax,WORD PTR [bp-4]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+14] ;FCOUNT
- mov ax,WORD PTR [bp-16]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-20]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-20]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XREMALL
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XREMOVE
- push bp
- mov bp,sp
- sub sp,26
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I546
- jmp NotLoaded_xqlp
- $I546:
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-20],ax
- les bx,DWORD PTR [bp+14] ;FCOUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-14],ax
- les bx,dword ptr [bp+18] ;files
- mov WORD PTR [bp-12],bx
- mov WORD PTR [bp-10],es
- les bx,DWORD PTR [bp+22] ;EDITCNT
- mov ax,WORD PTR es:[bx]
- cwd
- mov WORD PTR [bp-8],ax
- mov WORD PTR [bp-6],dx
- sub ax,ax
- mov WORD PTR [bp-2],ax
- mov WORD PTR [bp-4],ax
- mov ax,15
- push ax
- lea ax,WORD PTR [bp-26] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- les bx,DWORD PTR [bp+22] ;EDITCNT
- mov ax,WORD PTR [bp-8]
- mov WORD PTR es:[bx],ax
- les bx,DWORD PTR [bp+14] ;FCOUNT
- mov ax,WORD PTR [bp-14]
- mov WORD PTR es:[bx],ax
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-18]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-18]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XREMOVE
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XRESET
- push bp
- mov bp,sp
- sub sp,16
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I555
- jmp NotLoaded_xqlp
- $I555:
- mov WORD PTR [bp-10],0
- les bx,dword ptr [bp+10] ;machine
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- mov ax,17
- push ax
- lea ax,WORD PTR [bp-16] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-8]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-8]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XRESET
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XRESTRICT
- push bp
- mov bp,sp
- sub sp,20
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I567
- jmp NotLoaded_xqlp
- $I567:
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-14],ax
- les bx,DWORD PTR [bp+14] ;NEWEXP
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-8],ax
- les bx,DWORD PTR [bp+18] ;EXPLEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- les bx,dword ptr [bp+22] ;expbuf
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- mov ax,10
- push ax
- lea ax,WORD PTR [bp-20] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- cmp WORD PTR [bp-12],0
- je $I568
- les bx,DWORD PTR [bp+18] ;EXPLEN
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- $I568:
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-12]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-12]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XRESTRICT
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XSTOP
- push bp
- mov bp,sp
- sub sp,14
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I576
- jmp NotLoaded_xqlp
- $I576:
- mov ax,23
- push ax
- lea ax,WORD PTR [bp-14] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-6]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XSTOP
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XTRANS
- push bp
- mov bp,sp
- sub sp,14
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I585
- jmp NotLoaded_xqlp
- $I585:
- les bx,DWORD PTR [bp+10] ;OPERATION
- mov WORD PTR [bp-8],0
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-2],ax
- mov ax,18
- push ax
- lea ax,WORD PTR [bp-14] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- jmp SHORT $I587
- $I587:
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-6]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XTRANS
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XUPDATE
- push bp
- mov bp,sp
- sub sp,26
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I600
- jmp NotLoaded_xqlp
- $I600:
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-20],ax
- les bx,DWORD PTR [bp+14] ;FCOUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-14],ax
- ;
- les bx,dword ptr [bp+18] ;files
- mov WORD PTR [bp-12],bx
- mov WORD PTR [bp-10],es
- ;
- les bx,DWORD PTR [bp+22] ;EDITCNT
- mov ax,WORD PTR es:[bx]
- cwd
- mov WORD PTR [bp-8],ax
- mov WORD PTR [bp-6],dx
- ;
- les bx,dword ptr [bp+26] ;buf
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,13
- push ax
- lea ax,WORD PTR [bp-26] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- les bx,DWORD PTR [bp+22] ;EDITCNT
- mov ax,WORD PTR [bp-8]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+14] ;FCOUNT
- mov ax,WORD PTR [bp-14]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-18]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-18]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XUPDATE
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XSTORE
- push bp
- mov bp,sp
- sub sp,22
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I612
- jmp NotLoaded_xqlp
- $I612:
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-16],ax
- les bx,dword ptr [bp+14] ;storename
- mov WORD PTR [bp-10],bx
- mov WORD PTR [bp-8],es
- ;
- les bx,DWORD PTR [bp+18] ;BUFLEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- ;
- les bx,dword ptr [bp+22] ;BUF
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,21
- push ax
- lea ax,WORD PTR [bp-22] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-14]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-14]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XSTORE
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XRECALL
- push bp
- mov bp,sp
- sub sp,30
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I627
- jmp NotLoaded_xqlp
- $I627:
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-24],ax
- les bx,dword ptr [bp+14] ;RECALLNAME
- mov WORD PTR [bp-18],bx
- mov WORD PTR [bp-16],es
- ;
- les bx,DWORD PTR [bp+18] ;OWNERNUM
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-14],ax
- ;
- les bx,dword ptr [bp+22] ;OWNERLST
- mov WORD PTR [bp-12],bx
- mov WORD PTR [bp-10],es
- ;
- les bx,DWORD PTR [bp+26] ;OPENMODE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-8],ax
- ;
- les bx,DWORD PTR [bp+30] ;BUFLEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- ;
- les bx,dword ptr [bp+34] ;BUF
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,22
- push ax
- lea ax,WORD PTR [bp-30] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- cmp WORD PTR [bp-22],0
- jne $I628
- ;
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR [bp-24]
- mov WORD PTR es:[bx],ax
- ;
- $I628:
- les bx,DWORD PTR [bp+30] ;BUFLEN
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-22]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-22]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XRECALL
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XUPDALL
- push bp
- mov bp,sp
- sub sp,38
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I645
- jmp NotLoaded_xqlp
- $I645:
- ;
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-32],ax
- ;
- les bx,DWORD PTR [bp+14] ;FCOUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-26],ax
- ;
- les bx,dword ptr [bp+18] ;FILES
- mov WORD PTR [bp-24],bx
- mov WORD PTR [bp-22],es
- ;
- les bx,DWORD PTR [bp+22] ;OP
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-20],ax
- ;
- les bx,DWORD PTR [bp+26] ;SELECT
- mov ax,WORD PTR es:[bx]
- cwd
- mov WORD PTR [bp-18],ax
- mov WORD PTR [bp-16],dx
- ;
- les bx,DWORD PTR [bp+30] ;REJECT
- mov ax,WORD PTR es:[bx]
- cwd
- mov WORD PTR [bp-14],ax
- mov WORD PTR [bp-12],dx
- ;
- les bx,DWORD PTR [bp+34] ;COLCNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-10],ax
- ;
- les bx,dword ptr [bp+38] ;RES
- mov WORD PTR [bp-8],bx
- mov WORD PTR [bp-6],es
- ;
- les bx,dword ptr [bp+42] ;COMP
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,14
- push ax
- lea ax,WORD PTR [bp-38] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- les bx,DWORD PTR [bp+26] ;SELECT
- mov ax,WORD PTR [bp-18]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+30] ;REJECT
- mov ax,WORD PTR [bp-14]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+14] ;FCOUNT
- mov ax,WORD PTR [bp-26]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-30]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-30]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XUPDALL
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XDD
- push bp
- mov bp,sp
- sub sp,18
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I655
- jmp NotLoaded_xqlp
- $I655:
- les bx,dword ptr [bp+10] ;DIRPATH
- mov WORD PTR [bp-6],bx
- mov WORD PTR [bp-4],es
- ;
- les bx,DWORD PTR [bp+14] ;FUNCTION
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-2],ax
- ;
- mov ax,32
- push ax
- lea ax,WORD PTR [bp-18] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-10]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-10]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XDD
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XDDATTR
- push bp
- mov bp,sp
- sub sp,26
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I668
- jmp NotLoaded_xqlp
- $I668:
- mov WORD PTR [bp-20],0
- les bx,DWORD PTR [bp+10] ;SUBFUNCTION
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-14],ax
- les bx,dword ptr [bp+14] ;FIELDNAME
- mov WORD PTR [bp-12],bx
- mov WORD PTR [bp-10],es
- les bx,DWORD PTR [bp+18] ;ATTR
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-8],ax
- ;
- les bx,DWORD PTR [bp+22] ;BUFSIZE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- ;
- les bx,dword ptr [bp+26] ;ATTRBUF
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,31
- push ax
- lea ax,WORD PTR [bp-26] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- les bx,DWORD PTR [bp+22] ;BUFSIZE
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-18]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-18]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XDDATTR
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XDDCREATE
- push bp
- mov bp,sp
- sub sp,48
- push ds
- mov ax,DGROUP
- mov ds,ax
-
-
- ; SUBFUNCTION = 10
- ; FILENAME = 14
- ; CREATE = 18
- ; PATHNAME = 22
- ; OWNER = 26
- ; OACCESS = 30
- ; FLDCOUNT = 34
- ; FIELDLIST = 38
- ; KCOUNT = 42
- ; KEYLIST = 46
- ; BUFLEN = 50
- ; CREATEPARMS = 54
- ; XQLPPARMS = -48
-
- call xqlloaded
- or ax,ax
- jne XDDCR_1
- jmp NotLoaded_xqlp
- XDDCR_1:
- les bx, dword ptr [bp+10] ; subfunction
- mov ax, word ptr es:[bx]
- mov word ptr [bp-36], ax
-
- les bx, dWORD PTR [bp+14] ; FILENAME
- mov word ptr [bp-34], bx
- mov word ptr [bp-32], es
-
- les bx, dword ptr [bp+18] ; create flag
- mov ax, word ptr es:[bx]
- mov word ptr [bp-30], ax
-
- les bx, dword ptr [bp+22] ; pathname
- mov word ptr [bp-28], bx
- mov word ptr [bp-26], es
-
- les bx, dword ptr[bp+26] ; owner
- mov word ptr [bp-24], bx
- mov word ptr [bp-22], es
-
- les bx, dword ptr [bp+30] ; owner access
- mov ax, word ptr es:[bx]
- mov word ptr [bp-20], ax
-
- les bx, dword ptr [bp+34] ; field count
- mov ax, word ptr es:[bx]
- mov word ptr [bp-18], ax
-
- les bx, dword ptr [bp+38] ; field list
- mov word ptr [bp-16], bx
- mov word ptr [bp-14], es
-
- les bx, dword ptr [bp+42] ; key count
- mov ax, word ptr es:[bx]
- mov word ptr [bp-12], ax
-
- les bx, dword ptr[bp+46] ; key list
- mov word ptr[bp-10], bx
- mov word ptr[bp-8], es
-
- les bx, dword ptr[bp+50] ; buflen
- mov ax, word ptr es:[bx]
- mov word ptr [bp-6], ax
-
- les bx, dword ptr[bp+54] ; buffer
- mov word ptr [bp-4], bx
- mov word ptr [bp-2], es
-
- mov ax, 20 ; xddcreate function
- push ax
- lea ax, word ptr [bp-48] ; address of xqlpparms block
- push ss
- push ax
- call callxqlp
- add sp,6
-
- les bx, dword ptr [bp+6] ; status
- mov ax, word ptr [bp-40]
- mov word ptr es:[bx], ax
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XDDCREATE
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XDDMODIFY
- push bp
- mov bp,sp
- sub sp,42
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I686
- jmp NotLoaded_xqlp
- $I686:
- les bx,DWORD PTR [bp+10] ;SUBFUNCTION
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-30],ax
-
- les bx,dword ptr [bp+14] ;FILENAME
- mov WORD PTR [bp-28],bx
- mov WORD PTR [bp-26],es
-
- les bx,DWORD PTR [bp+18] ;CREATE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-24],ax
-
- les bx,dword ptr [bp+22] ;PATHNAME
- mov WORD PTR [bp-22],bx
- mov WORD PTR [bp-20],es
-
- les bx,dword ptr [bp+26] ;OWNER
- mov WORD PTR [bp-18],bx
- mov WORD PTR [bp-16],es
-
- les bx,DWORD PTR [bp+30] ;OACCESS
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-14],ax
-
- les bx,DWORD PTR [bp+34] ;FLDCOUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-12],ax
-
- les bx,dword ptr [bp+38] ;FIELDLIST
- mov WORD PTR [bp-10],bx
- mov WORD PTR [bp-8],es
-
- les bx,DWORD PTR [bp+42] ;KCOUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- les bx,dword ptr [bp+46] ;KEYLIST
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- mov ax,27
- push ax
- lea ax,WORD PTR [bp-42] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-34]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-34]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XDDMODIFY
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XDDDROP
- push bp
- mov bp,sp
- sub sp,20
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I697
- jmp NotLoaded_xqlp
- $I697:
- les bx,dword ptr [bp+10] ;FILENAME
- mov WORD PTR [bp-8],bx
- mov WORD PTR [bp-6],es
- ;
- les bx,DWORD PTR [bp+14] ;FILETYPE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-4],ax
- ;
- les bx,DWORD PTR [bp+18] ;DELETEPATH
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-2],ax
- ;
- mov ax,29
- push ax
- lea ax,WORD PTR [bp-20] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-12]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-12]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XDDDROP
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XDDFIELD
- push bp
- mov bp,sp
- sub sp,26
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I710
- jmp NotLoaded_xqlp
- $I710:
- mov WORD PTR [bp-20],0
- les bx,DWORD PTR [bp+10] ;SUBFUNCTION
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-14],ax
- ;
- les bx,DWORD PTR [bp+14] ;COUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-12],ax
- ;
- les bx,DWORD PTR [bp+22] ;BUFLEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- ;
- les bx,dword ptr [bp+18] ;FIELDBUF
- mov WORD PTR [bp-10],bx
- mov WORD PTR [bp-8],es
- ;
- les bx,dword ptr [bp+26] ;OUTBUF
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- ;
- mov ax,25
- push ax
- lea ax,WORD PTR [bp-26] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- ;
- cmp WORD PTR [bp-18],0
- jl $I711
- ;
- ;
- les bx,DWORD PTR [bp+14] ;COUNT
- mov ax,WORD PTR [bp-12]
- mov WORD PTR es:[bx],ax
- ;
- les bx,DWORD PTR [bp+22] ;BUFLEN
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- ;
- $I711:
- ;
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-18]
- mov WORD PTR es:[bx],ax
- ;
- mov ax,WORD PTR [bp-18]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
-
- ENDSUBFN XDDFIELD
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XDDFILE
- push bp
- mov bp,sp
- sub sp,26
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I724
- jmp NotLoaded_xqlp
- $I724:
- mov WORD PTR [bp-20],0
- les bx,DWORD PTR [bp+10] ;SUBFUNCTION
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-14],ax
- les bx,DWORD PTR [bp+14] ;COUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-12],ax
- les bx,dword ptr [bp+18] ;FILEBUF
- mov WORD PTR [bp-10],bx
- mov WORD PTR [bp-8],es
- les bx,DWORD PTR [bp+22] ;BUFLEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- les bx,dword ptr [bp+26] ;OUTBUF
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- mov ax,24
- push ax
- lea ax,WORD PTR [bp-26] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- cmp WORD PTR [bp-18],0
- jl $I725
- les bx,DWORD PTR [bp+14] ;COUNT
- mov ax,WORD PTR [bp-12]
- mov WORD PTR es:[bx],ax
- les bx,DWORD PTR [bp+22] ;BUFLEN
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- $I725:
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-18]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-18]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XDDFILE
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XDDINDEX
- push bp
- mov bp,sp
- sub sp,26
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I738
- jmp NotLoaded_xqlp
- $I738:
- mov WORD PTR [bp-20],0
- les bx,DWORD PTR [bp+10] ;SUBFUNCTION
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-14],ax
- les bx,DWORD PTR [bp+14] ;COUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-12],ax
- les bx,DWORD PTR [bp+22] ;BUFLEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- les bx,dword ptr [bp+18] ;FIELDBUF
- mov WORD PTR [bp-10],bx
- mov WORD PTR [bp-8],es
- les bx,dword ptr [bp+26] ;OUTBUF
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- mov ax,26
- push ax
- lea ax,WORD PTR [bp-26] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- cmp WORD PTR [bp-18],0
- jl $I739
- les bx,DWORD PTR [bp+14] ;COUNT
- mov ax,WORD PTR [bp-12]
- mov WORD PTR es:[bx],ax
- les bx,DWORD PTR [bp+22] ;BUFLEN
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- $I739:
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-18]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-18]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XDDINDEX
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XDDPATH
- push bp
- mov bp,sp
- sub sp,18
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I749
- jmp NotLoaded_xqlp
- $I749:
- les bx,DWORD PTR [bp+10] ;DIRTYPE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- les bx,dword ptr [bp+14] ;PATHNAME
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- mov ax,30
- push ax
- lea ax,WORD PTR [bp-18] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-10]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-10]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XDDPATH
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XDDVIEW
- push bp
- mov bp,sp
- sub sp,24
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I761
- jmp NotLoaded_xqlp
- $I761:
- mov WORD PTR [bp-18],0
- les bx,DWORD PTR [bp+10] ;COUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-12],ax
- les bx,dword ptr [bp+14] ;VIEWNAME
- mov WORD PTR [bp-10],bx
- mov WORD PTR [bp-8],es
- les bx,DWORD PTR [bp+18] ;BUFLEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- les bx,dword ptr [bp+22] ;OUTBUF
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- mov ax,28
- push ax
- lea ax,WORD PTR [bp-24] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- cmp WORD PTR [bp-16],0
- jl $I762
- les bx,DWORD PTR [bp+10] ;COUNT
- mov ax,WORD PTR [bp-12]
- mov WORD PTR es:[bx],ax
- les bx,DWORD PTR [bp+18] ;BUFLEN
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- $I762:
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-16]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-16]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XDDVIEW
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XACCESS
- push bp
- mov bp,sp
- sub sp,40
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I779
- jmp NotLoaded_xqlp
- $I779:
- mov WORD PTR [bp-34],0
- les bx,dword ptr [bp+10] ;MPSWD
- mov WORD PTR [bp-28],bx
- mov WORD PTR [bp-26],es
- les bx,dword ptr [bp+14] ;USERNAME
- mov WORD PTR [bp-24],bx
- mov WORD PTR [bp-22],es
- les bx,DWORD PTR [bp+18] ;SUBFUNCTION
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-20],ax
- les bx,DWORD PTR [bp+22] ;RIGHTS
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-18],ax
- les bx,dword ptr [bp+26] ;FILENAME
- mov WORD PTR [bp-16],bx
- mov WORD PTR [bp-14],es
- les bx,DWORD PTR [bp+30] ;COUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-12],ax
- les bx,dword ptr [bp+34] ;FIELDNAME
- mov WORD PTR [bp-10],bx
- mov WORD PTR [bp-8],es
- les bx,DWORD PTR [bp+38] ;BUFLEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- les bx,dword ptr [bp+42] ;OUTBUF
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- mov ax,35
- push ax
- lea ax,WORD PTR [bp-40] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- cmp WORD PTR [bp-32],0
- jne $I780
- les bx,DWORD PTR [bp+30] ;COUNT
- mov ax,WORD PTR [bp-12]
- mov WORD PTR es:[bx],ax
- les bx,DWORD PTR [bp+38] ;BUFLEN
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- $I780:
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-32]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-32]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XACCESS
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XPASSWORD
- push bp
- mov bp,sp
- sub sp,20
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I790
- jmp NotLoaded_xqlp
- $I790:
- mov WORD PTR [bp-14],0
- les bx,dword ptr [bp+10] ;USER
- mov WORD PTR [bp-8],bx
- mov WORD PTR [bp-6],es
- les bx,dword ptr [bp+14] ;PSWD
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- mov ax,36
- push ax
- lea ax,WORD PTR [bp-20] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-12]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-12]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XPASSWORD
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XSECURITY
- push bp
- mov bp,sp
- sub sp,18
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I800
- jmp NotLoaded_xqlp
- $I800:
- mov WORD PTR [bp-12],0
- les bx,dword ptr [bp+10] ;MPSWD
- mov WORD PTR [bp-6],bx
- mov WORD PTR [bp-4],es
- les bx,DWORD PTR [bp+14] ;FLAG
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-2],ax
- mov ax,33
- push ax
- lea ax,WORD PTR [bp-18] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-10]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-10]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XSECURITY
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XUSER
- push bp
- mov bp,sp
- sub sp,36
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I816
- jmp NotLoaded_xqlp
- $I816:
- mov WORD PTR [bp-30],0
- les bx,dword ptr [bp+10] ;MPSWD
- mov WORD PTR [bp-24],bx
- mov WORD PTR [bp-22],es
- les bx,DWORD PTR [bp+14] ;SUBFUNCTION
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-20],ax
- les bx,dword ptr [bp+18] ;USERNAME
- mov WORD PTR [bp-18],bx
- mov WORD PTR [bp-16],es
- les bx,dword ptr [bp+22] ;PSWD
- mov WORD PTR [bp-14],bx
- mov WORD PTR [bp-12],es
- les bx,DWORD PTR [bp+26] ;GRIGHTS
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-10],ax
- les bx,DWORD PTR [bp+30] ;COUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-8],ax
- les bx,DWORD PTR [bp+34] ;BUFLEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- les bx,dword ptr [bp+38] ;USERBUF
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- mov ax,34
- push ax
- lea ax,WORD PTR [bp-36] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- les bx,DWORD PTR [bp+30] ;COUNT
- mov ax,WORD PTR [bp-8]
- mov WORD PTR es:[bx],ax
- les bx,DWORD PTR [bp+34] ;BUFLEN
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-28]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-28]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XUSER
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XCHAR
- push bp
- mov bp,sp
- sub sp,18
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I827
- jmp NotLoaded_xqlp
- $I827:
- les bx,DWORD PTR [bp+10] ;CHARFCN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- les bx,DWORD PTR [bp+14] ;CHARTYPE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-4],ax
- les bx,DWORD PTR [bp+18] ;VALUE
- mov al,BYTE PTR es:[bx]
- cbw
- mov WORD PTR [bp-2],ax
- mov ax,37
- push ax
- lea ax,WORD PTR [bp-18] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- les bx,DWORD PTR [bp+18] ;VALUE
- mov al,BYTE PTR [bp-2]
- mov BYTE PTR es:[bx],al
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-10]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-10]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XCHAR
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XVERSION
- push bp
- mov bp,sp
- sub sp,16
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I836
- jmp NotLoaded_xqlp
- $I836:
- les bx,dword ptr [bp+10] ;BUFFER
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- mov ax,38
- push ax
- lea ax,WORD PTR [bp-16] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-8]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-8]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XVERSION
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XCONVERT
- push bp
- mov bp,sp
- sub sp,36
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I853
- jmp NotLoaded_xqlp
- $I853:
- les bx,DWORD PTR [bp+10] ;OPTION
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-24],ax
- les bx,DWORD PTR [bp+14] ;TYPE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-22],ax
- les bx,DWORD PTR [bp+18] ;SIZE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-20],ax
- les bx,DWORD PTR [bp+22] ;DEC
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-18],ax
- les bx,DWORD PTR [bp+26] ;DSIZE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-16],ax
- les bx,dword ptr [bp+30] ;VALUE
- mov WORD PTR [bp-14],bx
- mov WORD PTR [bp-12],es
- les bx,dword ptr [bp+34] ;RETVAL
- mov WORD PTR [bp-10],bx
- mov WORD PTR [bp-8],es
- les bx,dword ptr [bp+38] ;MASK
- mov WORD PTR [bp-6],bx
- mov WORD PTR [bp-4],es
- les bx,DWORD PTR [bp+42] ;JUST
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-2],ax
- mov ax,39
- push ax
- lea ax,WORD PTR [bp-36] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-28]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-28]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XCONVERT
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XVALIDATE
- push bp
- mov bp,sp
- sub sp,24
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I865
- jmp NotLoaded_xqlp
- $I865:
- les bx,dword ptr [bp+14] ;FIELDNAME
- mov WORD PTR [bp-10],bx
- mov WORD PTR [bp-8],es
- les bx,DWORD PTR [bp+10] ;COUNT
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-12],ax
- les bx,DWORD PTR [bp+18] ;BUFLEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- les bx,dword ptr [bp+22] ;DATA
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- mov ax,40
- push ax
- lea ax,WORD PTR [bp-24] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-16]
- mov WORD PTR es:[bx],ax
- les bx,DWORD PTR [bp+10] ;COUNT
- mov ax,WORD PTR [bp-12]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-16]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XVALIDATE
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XMASK
- push bp
- mov bp,sp
- sub sp,26
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I879
- jmp NotLoaded_xqlp
- $I879:
- les bx,DWORD PTR [bp+10] ;OPTION
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-14],ax
- les bx,DWORD PTR [bp+14] ;TYPE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-12],ax
- les bx,DWORD PTR [bp+18] ;SIZE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-10],ax
- les bx,DWORD PTR [bp+22] ;DEC
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-8],ax
- les bx,DWORD PTR [bp+26] ;LEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- les bx,dword ptr [bp+30] ;MASK
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- mov ax,41
- push ax
- lea ax,WORD PTR [bp-26] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-18]
- mov WORD PTR es:[bx],ax
- les bx,DWORD PTR [bp+26] ;LEN
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-18]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XMASK
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XSTATUS
- push bp
- mov bp,sp
- sub sp,20
- push ds
- mov ax,DGROUP
- mov ds,ax
- call xqlloaded
- or ax,ax
- jne $I891
- jmp NotLoaded_xqlp
- $I891:
- les bx,DWORD PTR [bp+10] ;HANDLE
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-14],ax
- les bx,DWORD PTR [bp+14] ;SUBFUNCTION
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-8],ax
- les bx,DWORD PTR [bp+18] ;LEN
- mov ax,WORD PTR es:[bx]
- mov WORD PTR [bp-6],ax
- les bx,dword ptr [bp+22] ;BUF
- mov WORD PTR [bp-4],bx
- mov WORD PTR [bp-2],es
- mov ax,19
- push ax
- lea ax,WORD PTR [bp-20] ;XQLPPARMS
- push ss
- push ax
- call callxqlp
- add sp,6
- les bx,DWORD PTR [bp+18] ;LEN
- mov ax,WORD PTR [bp-6]
- mov WORD PTR es:[bx],ax
- les bx,DWORD PTR [bp+6] ;STATUS
- mov ax,WORD PTR [bp-12]
- mov WORD PTR es:[bx],ax
- mov ax,WORD PTR [bp-12]
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XSTATUS
-
- ;=============================================================================
- ;
- ;=============================================================================
- NOT_LOGGED equ 287
- SUBFN XGETSESSIONID
- push bp
- mov bp,sp
- push ds
- mov ax,DGROUP
- mov ds,ax
- les bx, dword ptr [bp+10] ; sessionid
- mov ax, SessionID
- mov WORD PTR es:[bx], ax
- cmp WORD PTR SessionID, -1
- jne XGET_10
- mov ax, NOT_LOGGED
- jmp XGET_20
- XGET_10:
- xor ax,ax
- XGET_20:
- les bx,DWORD PTR [bp+6] ;STATUS
- mov WORD PTR es:[bx],ax
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XGETSESSIONID
-
- ;=============================================================================
- ;
- ;=============================================================================
- SUBFN XPUTSESSIONID
- push bp
- mov bp,sp
- push ds
- mov ax,DGROUP
- mov ds,ax
- les bx, DWORD PTR [bp+10] ; sessionid
- mov ax, WORD PTR es:[bx] ; get session id from user
- mov SessionID, ax
- xor ax,ax
- les bx,DWORD PTR [bp+6] ; STATUS Variable
- mov WORD PTR es:[bx],ax ; always return status 0
- IFDEF REALIA4
- mov ss:CSA$BASE.CSA$RTN,ax ;save Realia 4 return code
- ENDIF
- pop ds
- mov sp,bp
- pop bp
- ret
- ENDSUBFN XPUTSESSIONID
-
- ENDCODE SQLCOB
-
- DataGroup
- globalW SessionID, SessionID, 0ffffH
- globalW SQLCODE, SQLCODE, 0
- EndData
-
- END
-