TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Jacob Warner
from: Heinz Mueller
date: 1994-10-15 17:44:48
subject: PL/I (2)

Hello Jacob !

 /******************************************************************/
 /*Betriebs - System Aufrufe                                       */
 /******************************************************************/
 /*----------------------------------------------------------------*/
 /*16 Bit Api - Calls                                              */
 /*----------------------------------------------------------------*/
   dcl VioGetCurType Entry(pointer segmented,ushort)
                          returns (ushort)
                          external('Vio16GetCurType')
                          options(Byvalue linkage(pascal16));
   dcl VioSetCurType Entry(pointer segmented,ushort)
                          returns (ushort)
                          external('Vio16SetCurType')
                          options(Byvalue linkage(pascal16));
   dcl VioGetMode    Entry(pointer segmented,ushort)
                          returns (ushort)
                          external('Vio16GetMode')
                          options(Byvalue linkage(pascal16));
   dcl VioWrtCharStr Entry(Pointer segmented,
                           ushort,
                           ushort,
                           ushort,
                           ushort)
                          returns (ushort)
                          external('Vio16WrtCharStr')
                          options(Byvalue linkage(pascal16));
   dcl VioWrtNCell   Entry(Pointer segmented,
                           ushort,
                           ushort,
                           ushort,
                           ushort)
                          returns (ushort)
                          external('Vio16WrtNCell')
                          options(Byvalue linkage(pascal16));
   dcl ##foreg            ushort  init( 8);
   dcl ##backg            ushort  init( 1);
   dcl ##attrib           char(1) init('08'X);
   dcl VioWrtCharStrAttr Entry(Pointer segmented,
                              ushort,
                              ushort,
                              ushort,
                              Pointer segmented,
                              ushort)
                          returns (ushort)
                          external('Vio16WrtCharStrAtt')
                          options(Byvalue linkage(pascal16));
   dcl VioSetCurPos       Entry(ushort,
                                ushort,
                                ushort)
                          Returns (ushort)
                          external('Vio16SetCurPos')
                          options(ByValue Linkage(pascal16));
   dcl CharIn             Entry(Pointer segmented,
                                ushort ,
                                ushort )
                          Returns (ushort)
                          external('Kbd16CharIn')
                          options(ByValue Linkage(pascal16));

 /*----------------------------------------------------------------*/
   dcl
     1 #PKBDKEYINFO           ,
       2 Asciicharinfo CHAR(1),
       2 Scancode      CHAR(1),
       2 Status        CHAR(1),
       2 Shiftkey      CHAR(1)init('00'X),
       2 fsState       USHORT ,
       2 K_Time        ULONG  ;
   dcl PKBDKEYINFO Char(stg(#PKBDKEYINFO)) based(Addr(#PKBDKEYINFO));
 /*----------------------------------------------------------------*/
 /*Loeschen von Files                                               */
 /*----------------------------------------------------------------*/
  dcl SysFileDelete Entry(pointer,ulong)
                         Returns(ulong)
                         external( 'DOSDELETE' )
                         Options(Byvalue linkage(System));

 /*----------------------------------------------------------------*/
 /*Kopieren von Files                                              */
 /*----------------------------------------------------------------*/

  dcl OVERW$              ULONG  Value ('01'B); /*Ueberschreiben    */
  dcl APPEND$             ULONG  Value ('11'B); /*Anhaengen         */
  dcl SysFileCopy   Entry(Char(256) varz ByAddr,Char(256) varz ByAddr,
                          ulong)
                         Returns(ULONG)
                         external( 'DOSCOPY' )
                         Options(Byvalue linkage(System));
  /*Bit 15 - 8 Reserved 0----------------------+                   */
  /*Bit  7 - 4 Overwrite ----------------------+----+              */
  /*Bit  3 - 0 Create    ----------------------+----+---+          */
  /*                                           !    !   !          */
  /*                                           !    !   !          */
  /*                                           !    !   !          */
  /*                                           !    !   !          */

  /*-----------------------------------------------------------------*/
  /* Definitions                                                     */
  /*-----------------------------------------------------------------*/

  Dcl Open_Read           ULONG  Value('0000000000000001'B);
  Dcl Open_ReadWrite      ULONG  Value('0000000000000001'B);
  Dcl Open_Crifnec_R      ULONG  Value('0000000000010010'B);
  Dcl Open_Crifnec        ULONG  Value('0000000000010001'B);
  Dcl Open_Mode_Mine      ULONG  Value('0010000100110010'B);
  dcl open_mode_denyall   ULONG  Value('0010000100010010'B);
  /*-----------------------------------------------------------------*/
  /* Entries                                                         */
  /*-----------------------------------------------------------------*/
  dcl OpenFile      Entry(pointer,
                          pointer,
                          pointer,
                          ulong,
                          ulong,
                          ulong,
                          ulong,
                          ulong)
                         Returns(ulong)
                         external( 'DosOpen' )
                         Options(byvalue linkage(System));

  dcl WriteFile     Entry(ulong,pointer,ulong,pointer)
                         Returns(ulong)
                         external( 'DosWrite')
                         Options(Byvalue linkage(System));

  dcl ReadFile      Entry(ulong,pointer,ulong,pointer)
                         Returns(ulong)
                         external( 'DosRead')
                         Options(Byvalue linkage(System));

  Dcl CloseFile     Entry(slong )
                         Returns(ulong)
                         external( 'DosClose')
                         Options(Byvalue linkage(System));

  dcl SetFilePtr    entry(ulong,
                          slong,
                          ulong,
                          pointer)
                         Returns(ulong)
                         External('DosSetFilePtr')
                         Options(Byvalue linkage(System));

  dcl StartSearch   entry(pointer,
                          pointer,
                          ulong  ,
                          pointer,
                          ulong  ,
                          pointer,
                          ulong  )
                          returns (ulong)
                          external("DosFindFirst")
                          options (byvalue linkage(system));

  dcl NextSearch    entry(Ulong ,
                          pointer,
                          ulong  ,
                          pointer)
                          returns (ulong)
                          external("DosFindNext")
                          options (byvalue linkage(system));

  dcl CloseSearch   entry(ulong)
                          returns (ulong)
                          external("DosFindClose")
                          options (byvalue linkage(system));

  dcl Exec          entry(pointer,
                          ulong  ,
                          slong  ,
                          pointer,
                          pointer,
                          pointer,
                          pointer)
                          returns (ulong)
                          external("DosExecPgm")
                          options (byvalue linkage(system));

  dcl SetCurDir     entry(pointer)
                          returns (ulong)
                          external('DosSetCurrentDir')
                          options (byvalue linkage(system));
  dcl CreatePipe   entry(pointer,
                         pointer,
                          ulong)
                          returns (ulong)
                          external('DosCreatePipe')
                          options (byvalue linkage(system));
  dcl DupHandle     entry(ulong,
                          pointer)
                          returns (ulong)
                          external('DosDupHandle')
                          options (byvalue linkage(system));
  dcl Beep          entry(ulong,
                          ulong  )
                          returns (ulong)
                          external('DosBeep')
                          options (byvalue linkage(system));
  dcl SysSleep      entry(ulong  )
                          returns (ulong)
                          external('DosSleep')
                          options (byvalue linkage(system));

  /*-----------------------------------------------------------------*/
  /* Rexx !!                                                         */
  /*-----------------------------------------------------------------*/

---------------------------------Schnipp schnapp--------------------------------
     --=={Regards Heinz Mueller [Team OS/2][cfw{at}quattro.bb.bawue.de]}==--

--- FleetStreet 0.95.3wb


* Origin: Charisma OS2HELP Backbone Host 2 (2:2476/14.3)
SEEN-BY: 12/2442 54/54 620/243 624/50 632/348 640/820 690/660 711/409 410 413
SEEN-BY: 711/430 807 808 809 934 942 949 712/353 623 713/888 800/1
@PATH: 2476/14 2 2480/76 24/24 396/1 3615/50 229/2 12/2442
@PATH: 711/409 54/54 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.