	TITLE	'MDBS CALL INTERFACE TYPE 03 PROGRAM'
;PROGRAM
;		MDBS CALL INTERFACE TYPE 03 PROGRAM
;PROGRAMMER
;		ROBERT M. WHITE
;DATE WRITTEN
;		AUGUST 27, 1980
;(C)COPYRIGHT	1980,H & W COMPUTER SYSTEMS, INC.
;PURPOSE
;		THIS ROUTINE INTERFACES FOR ALL MDBS CALLS THAT
;		LOOK LIKE THE FOLLOWING IN PLI:
;			CALL XXX(PARM1,PARM2,RTNCODE);
;		WHERE PARM1 GOES INTO THE DE PARAMETER AND PARM2
;		GOES INTO THE HL PARAMETER.
;REMARKS
;		THIS MODULE CONTAINS SEVERAL ENTRY POINTS
;		WHICH CORRESPOND THE TO THE MDBS FUNCTION
;		NAME BEING CALLED.

;		DO INITIALIZATION.
	NAME	'MDBS02'
MDBS02:	CSEG

;		AMS - ADD MEMBER TO SET
AMS:	DS	0
	PUBLIC	AMS
	MVI	A,01		;GET FUNCTION CODE.
	JMP	MAIN		;PROCESS CALL.

;		CMT - CHECK CURRENT MEMBER TYPE.
CMT:	DS	0
	PUBLIC	CMT
	MVI	A,04		;GET FUNCTION CODE.
	JMP	MAIN		;PROCESS CALL.

;		COT - CHECK CURRENT OWNER TYPE.
COT:	DS	0
	PUBLIC	COT
	MVI	A,05		;GET FUNCTION CODE.
	JMP	MAIN		;PROCESS CALL.

;		SMM - SET CURRENT MEMBER BASED ON CURRENT MEMBER
SMM:	DS	0
	PUBLIC	SMM
	MVI	A,52		;GET FUNCTION CODE.
	JMP	MAIN		;PROCESS CALL.

;		SMO - SET CURRENT MEMBER BASED ON CURRENT OWNER
SMO:	DS	0
	PUBLIC	SMO
	MVI	A,53		;GET FUNCTION CODE.
	JMP	MAIN		;PROCESS CALL.

;		SMR - SET CURRENT MEMBER BASED ON CURRENT RECORD.
SMR:	DS	0
	PUBLIC	SMR
	MVI	A,54		;GET FUNCTION CODE.
	JMP	MAIN		;PROCESS CALL.

;		SOM - SET CURRENT OWNER BASED ON CURRENT MEMBER
SOM:	DS	0
	PUBLIC	SOM
	MVI	A,56		;GET FUNCTION CODE.
	JMP	MAIN		;PROCESS CALL.

;		SOO - SET CURRENT OWNER BASED ON CURRENT OWNER.
SOO:	DS	0
	PUBLIC	SOO
	MVI	A,57		;GET FUNCTION CODE.
	JMP	MAIN		;PROCESS CALL.

;		SOR - SET CURRENT OWNER BASED ON CURRENT RECORD.
SOR:	DS	0
	PUBLIC	SOR
	MVI	A,58		;GET FUNCTION CODE.
	JMP	MAIN		;PROCESS CALL.

;		SCO - SET CURRENT OF RUN UNIT BASED ON OWNER
SCO:	DS	0
	PUBLIC	SCO
	MVI	A,45		;GET FUNCTION CODE.
	JMP	MAIN		;PROCESS CALL.

;		SCR - SET CURRENT OF RUN UNIT BASED ON CURRENT RECORD.
SCR:	DS	0
	PUBLIC	SCR
	MVI	A,46		;GET FUNCTION CODE.
	JMP	MAIN		;PROCESS CALL.

;		SAVE THE FUNCTION CODE.
MAIN:
	STA	FUNC

;		MOVE INPUT PARMS INTO OUTPUT PARM LIST.
	MOV	E,M		;GET FIRST PARM.
	INX	H
	MOV	D,M
	INX	H
	XCHG			;SAVE IT.
	SHLD	PRM3
	XCHG
	MOV	E,M		;GET SECOND PARM.
	INX	H
	MOV	D,M
	INX	H
	XCHG			;SAVE IT.
	SHLD	PRM4
	XCHG
	MOV	E,M		;GET RETURN CODE.
	INX	H
	MOV	D,M
	INX	H
	XCHG			;SAVE IT.
	SHLD	PRM5

;		CALL THE MDBS CALL INTERFACE.
	LXI	H,PRMLST	;POINT TO PARAMETER LIST.
	JMP	MDBSCL		;GO PERFORM THE FUNCTION.
	EXTRN	MDBSCL
	PAGE
;****************************************************************
;*			PROGRAM CONSTANTS			*
;****************************************************************

;		INPUT PARM.
	DSEG
PRMLST:				;PL/1 PARAMETER LIST
PRM1:	DW	FUNC			;FUNCTION CODE
PRM2:	DW	NULCL8			;BC PARM
PRM3:	DW	0			;DE PARM
PRM4:	DW	0			;HL PARM
PRM5:	DW	0			;RETURN CODE
PRM6:	DW	NULPTR			;BLOCK PTR
PRM7:	DW	NULB15			;BLOCK LENGTH
FUNC:	DB	0
NULCL8:	DB	'        '
NULPTR:	DW	0
NULB15:	DW	0
	END
