home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
o22516d1.zip
/
DSDEMO.@IP
/
DSCLIENT.CBL
< prev
next >
Wrap
Text File
|
1992-07-29
|
4KB
|
113 lines
$SET MF
IDENTIFICATION DIVISION.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
CALL-CONVENTION 3 IS API.
WORKING-STORAGE SECTION.
01 LOCALS.
03 INFO1 PIC X(80).
03 MAX-LENGTH PIC X(4) COMP-5 VALUE 0.
03 WS-LENGTH PIC X(4) COMP-5 VALUE 0.
03 MACHINE-NAME PIC X(21) VALUE SPACES.
03 SERVER-NAME PIC X(8) VALUE "CCIECI".
03 SESSION-ID PIC X(4) COMP-5 VALUE 0.
COPY CCISIGNA.
LINKAGE SECTION.
COPY CCITABLE.
COPY COMMAREA.
PROCEDURE DIVISION USING COMM-AREA.
MOVE ZERO TO COMM-RETURN
MOVE SPACES TO COMM-MESSAGE
EVALUATE COMM-REQUEST
WHEN 1 PERFORM 100-BEGIN
WHEN 2 PERFORM 200-SEND
WHEN 3 PERFORM 200-SEND
PERFORM 300-CLOSE
WHEN OTHER DISPLAY 'COMM-REQUEST ERROR'
END-EVALUATE
GOBACK
.
****************************************************************
100-BEGIN SECTION.
MOVE LENGTH OF COMM-AREA TO MAX-LENGTH
WS-LENGTH
CALL API "CCINAMP" USING BY REFERENCE SIGNATURE-BLOCK
IF CCITYPE NOT = "NAMP"
MOVE 'ERROR IN CCI SIGNATURE' TO COMM-MESSAGE
MOVE 1 TO COMM-RETURN
GOBACK
END-IF
SET ADDRESS OF CALTAB TO CCICALTAB
CALL API CCI-INITCLIENT USING BY REFERENCE SERVER-NAME
BY REFERENCE MACHINE-NAME
BY REFERENCE SESSION-ID
BY VALUE 0 SIZE 4
BY VALUE 0 SIZE 4
IF RETURN-CODE NOT = 0
PERFORM 900-GET-CCI-ERROR
GOBACK
END-IF
CALL API CCI-SUSPENDCLIENT USING BY VALUE SESSION-ID
IF RETURN-CODE NOT = 0
PERFORM 900-GET-CCI-ERROR
GOBACK
END-IF
.
****************************************************************
200-SEND SECTION.
SET ADDRESS OF CALTAB TO CCICALTAB
CALL API CCI-RESUMECLIENT USING BY VALUE SESSION-ID
BY VALUE 0 SIZE 4
BY VALUE 0 SIZE 4
IF RETURN-CODE NOT = 0
PERFORM 900-GET-CCI-ERROR
GOBACK
END-IF
CALL API CCI-SEND USING BY VALUE SESSION-ID
BY REFERENCE COMM-AREA
BY VALUE WS-LENGTH
BY VALUE 0 SIZE 4
BY VALUE 0 SIZE 4
CALL API CCI-RECEIVE USING BY VALUE SESSION-ID
BY REFERENCE COMM-AREA
BY VALUE MAX-LENGTH
BY REFERENCE WS-LENGTH
BY VALUE 0 SIZE 4
BY VALUE 0 SIZE 4
IF RETURN-CODE NOT = 0
PERFORM 900-GET-CCI-ERROR
GOBACK
END-IF
CALL API CCI-SUSPENDCLIENT USING BY VALUE SESSION-ID
IF RETURN-CODE NOT = 0
PERFORM 900-GET-CCI-ERROR
GOBACK
END-IF
.
****************************************************************
300-CLOSE SECTION.
CALL API CCI-CLOSECLIENT USING BY VALUE SESSION-ID
IF RETURN-CODE NOT = 0
PERFORM 900-GET-CCI-ERROR
GOBACK
END-IF
.
****************************************************************
900-GET-CCI-ERROR SECTION.
MOVE 1 TO COMM-RETURN
MOVE LENGTH OF INFO1 TO WS-LENGTH
CALL API CCI-GETERROR USING BY REFERENCE INFO1
BY VALUE MAX-LENGTH
BY REFERENCE WS-LENGTH
MOVE INFO1 TO COMM-MESSAGE
.