home *** CD-ROM | disk | FTP | other *** search
/ Archive Magazine 1996 / ARCHIVE_96.iso / discs / mag_discs / volume_8 / issue_04 / pocketbook / kmac091 / KMACLIB.OPL < prev    next >
Text File  |  1994-04-20  |  971b  |  43 lines

  1. PROC lpOpen:
  2.     LOCAL dylName$(20)
  3.     LOCAL i%
  4.     LOCAL ret%
  5.     dylName$="LOC::M:\DYL\LPC.DYL"
  6.     i%=%A
  7.     WHILE 1
  8.         IF EXIST(dylName$) :break :ENDIF
  9.         IF i%=%C :RAISE -33 :ENDIF
  10.         pokeb ADDR(dylName$)+6,i%
  11.         i%=i%+1
  12.     ENDWH
  13.     ret%=LOADLIB(lpcHand%,dylName$,1)
  14.     IF ret% : panic:(ret%) :ENDIF
  15.     lpoHand%=NEWOBJH(lpcHand%,0)
  16.     IF lpoHand%=0 :panic:(-10) :ENDIF
  17.     ret%=ENTERSEND(lpoHand%,1,#0)
  18.     IF ret% :panic:(ret%) :ENDIF
  19.     RETURN lpoHand%
  20. ENDP
  21.  
  22. PROC panic:(ret%)
  23.     lpClose:
  24.     RAISE ret%
  25. ENDP
  26.  
  27. PROC lpClose:
  28.     if lpoHand% :SEND(lpoHand%,0) :lpoHand%=0 :endif
  29.     if lpcHand% :UNLOADLIB(lpcHand%) :lpcHand%=0 :endif
  30. ENDP
  31.  
  32. PROC lpWrite:(letter%,content$)
  33.     LOCAL tmp$(255)
  34.     LOCAL ad%
  35.     tmp$=content$+chr$(0)
  36.     ad%=ADDR(tmp$)+1
  37.     return SEND(lpoHand%,2,#letter%,#ad%)
  38. ENDP
  39.  
  40. PROC lpSend:(method%,p1%,p2%,p3%)
  41.     return(ENTERSEND(lpoHand%,method%,#p1%,#p2%,#p3%))
  42. ENDP
  43.