OS/2 DosDEvIOCtl call in Microfocus COBOL Workbench (3.2.27) 
Author Message
 OS/2 DosDEvIOCtl call in Microfocus COBOL Workbench (3.2.27)

We are trying to write a program which determines the status of the printer port (LPT1). We use a DosOpen to open a file in the printer spool and then we do the DosDevIOCtl (catogorie 5, function 66H). When we run our program, we always get the same result (bite 1 contains the value 90H). Look at the coding and please let us know where we can make any improvements.      $SET NOOSVS MF NOVSC2
       IDENTIFICATION DIVISION.
       PROGRAM-ID. MARTIN2.
       ENVIRONMENT DIVISION.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  PROGRAMMA-NAAM                 PIC X(08) VALUE "MARTIN2".
      *
      *     Parameters voor DosOpen
      *
       01  DosOpen.
           03  FileName.
               05  filler               pic  x(05) value "\DEV\".
               05  COMPOORT             PIC  X(04) VALUE "LPT1".
               05  filler               pic s9(02) comp-5 value zero.
           03  ActionTaken              pic s9(04) comp-5.
           03  FileSize                 pic s9(08) comp-5 VALUE 0.
           03  FileAttribute            pic s9(04) comp-5 value 4.
           03  OpenFlag                 pic s9(04) comp-5 value 17.
           03  OpenMode                 pic s9(04) comp-5 value 8258.
      *    03  OpenMode                 pic s9(04) comp-5 value 32.
           03  Reserved                 pic s9(08) comp-5 value zero.

       01  TIK-TELLER-B.
           03  TIK-TELLER-B1              pic x(01) comp-x.
           03  TIK-TELLER-B2              pic x(01) comp-x.
           03  TIK-TELLER-B3              pic x(01) comp-x.
           03                             pic x(01) comp-x.
       01  TIK-TELLER-NAME.
           03                             PIC X(01) COMP-5 VALUE 10.
           03                             PIC X(10) VALUE "TIK-TELLER".

       01  BITRATE                      PIC S9(04) COMP-5 VALUE ZERO.
       01  aantal                       PIC 9(18).
       01  FUNCTIE                      PIC S9(04) COMP-5 VALUE 102.
       01  CATEGORY                     PIC S9(04) COMP-5 VALUE 5.
       01  FILEHANDLE                   PIC S9(04) COMP-5.
       01  DataLengthInOut              PIC S9(04) COMP-5 value 12.
       01  DataLengthMax                PIC S9(04) COMP-5 value 12.
       01  ParmLengthInOut              PIC S9(04) COMP-5 value 20.
       01  ParmLengthMax                PIC S9(04) COMP-5 value 20.
       01  TIK-TELLER                     USAGE POINTER.
       01  TIK-TELLER-R REDEFINES TIK-TELLER PIC 9(09) COMP.
       01  PARMLIST USAGE POINTER.

      *LINKAGE SECTION.
      *01  DATAAREA USAGE POINTER.

       PROCEDURE DIVISION.
      ******************************************************************
      *                                                         * ---- *
      ******************************************************************
       0000-MAINLINE.
           CALL "__DosOpen" USING BY VALUE Reserved in DosOpen
                                  BY VALUE OpenMode in DosOpen
                                  BY VALUE OpenFlag in DosOpen
                                  BY VALUE FileAttribute in DosOpen
                                  BY VALUE FileSize in DosOpen
                                  BY REFERENCE ActionTaken in DosOpen
                                  BY REFERENCE FileHandle
                                  BY REFERENCE FileName in DosOpen.
           IF RETURN-CODE NOT = ZERO
              DISPLAY 'OPENEN VERBINDING MISLUKT'
           END-IF.
      *    exhibit named return-code.

      *    call "__DosDevIOCtl" USING BY VALUE FileHandle
      *                               BY VALUE Category
      *                               BY VALUE Functie
      *                               BY REFERENCE ParmList
      *                               BY REFERENCE TIK-TELLER.

           accept aantal from command-line.
           perform loopje aantal times.
           CALL "__DosClose" USING  BY VALUE FileHandle.
           IF RETURN-CODE NOT = ZERO
              DISPLAY 'SLUITEN VERBINDING MISLUKT'
           END-IF.

      *    CALL "__CBL_GET_SHMEM_PTR" USING TIK-TELLER
      *                                   TIK-TELLER-NAME.
      *
      *    IF RETURN-CODE > ZERO
      *        DISPLAY RETURN-CODE
      *        GO TO 0000-MAINLINE-EXIT
      *    END-IF.
      *
      *    ADD 1 TO TIK-TELLER-R.
      *    CALL "__CBL_PUT_SHMEM_PTR" USING BY VALUE TIK-TELLER
      *                                   BY REFERENCE TIK-TELLER-NAME.
      *
      *    IF RETURN-CODE > ZERO
      *        DISPLAY RETURN-CODE
      *        GO TO 0000-MAINLINE-EXIT
      *    END-IF.
       0000-MAINLINE-EXIT.
           GOBACK.

       loopje.
           call "__DosDevIOCtl" using BY VALUE FileHandle
                                      BY VALUE Category
                                      BY VALUE Functie
                                      BY REFERENCE ParmList
      *                               BY VALUE     ParmLengthMax
      *                               BY VALUE     ParmLengthInOut
      *                               BY REFERENCE dataarea.
                                      BY REFERENCE TIK-TELLER.
      *                               BY VALUE     DataLengthMax
      *                               BY VALUE     DataLengthInOut.

           move tik-teller-r to tik-teller-b.
      *    IF RETURN-CODE NOT = ZERO
      *        DISPLAY "FOUT NA DosDevIOCtl"
      *    END-IF.
           exhibit changed named return-code.
           exhibit changed named tik-teller-b1.



Mon, 10 Nov 1997 03:00:00 GMT  
 
 [ 1 post ] 

 Relevant Pages 

1. Wang COBOL on MicroFocus Workbench

2. MicroFocus Cobol Workbench v3.2x

3. MicroFocus Cobol Workbench

4. MicroFocus Cobol Workbench 4.0?

5. MICROFOCUS COBOL WORKBENCH VERSION 3.1 TO 4.0

6. Calling Cobol from C (Microfocus Cobol)

7. Help with Microfocus personal cobol and Microfocus Level II cobol

8. CA-Realia II Workbench vs. COBOL Workbench

9. Microfocus Cobol compiler for OS/2 wanted FAST (Buying)

10. Microfocus Cobol, CICS OS/2, and IBM DB2/2

11. Calling a non-COBOL program from a COBOL program on OS/390

12. COBOL II calls to OS/VS COBOL programs in batch

 

 
Powered by phpBB® Forum Software