TYPE RINFO
       RApiVersion          AS INTEGER
       RFunctionKeyMode     AS INTEGER
       Rlocalecho           AS INTEGER
       Rremotemode          AS INTEGER
       Rcapslock            AS INTEGER
       Rdisplayfunctions    AS INTEGER
       Rautolinefeed        AS INTEGER
       Rrightmargin         AS INTEGER
       Rphysscreenwidth     AS INTEGER
       Rmemoryresponse      AS INTEGER
       Rxmitfunctions       AS INTEGER
       Rspowstrap           AS INTEGER
       Rinheolwrp           AS INTEGER
       Rlinepagemode        AS INTEGER
       Rinhhndshk           AS INTEGER
       Rinhdc2              AS INTEGER
       Rblockmode           AS INTEGER
       Rformatmode          AS INTEGER
       Rmemorylock          AS INTEGER
       Rtypeahead           AS INTEGER
       Rnormalcursorkeymode AS INTEGER
       Rnumerickeypadmode   AS INTEGER
       Rmultipagemode       AS INTEGER
       Ruserfeatureslocked  AS INTEGER
       Rudkslocked          AS INTEGER
END TYPE




TYPE RSTAT
       Rpagetoprow           AS INTEGER
       Rcursorrow            AS INTEGER
       Rcursorcol            AS INTEGER
       Rleftborder           AS INTEGER
       Rcursorphysrow        AS INTEGER
       Rcursorphyscol        AS INTEGER
       Rkblocksw             AS INTEGER
       Rbatchflag            AS INTEGER
       Rdatacommerrorflag    AS INTEGER
       Rhostpromptreceived   AS INTEGER
       Rxferpendingsw        AS INTEGER
END TYPE

TYPE ukeytype
        UkeyAttr             AS STRING * 1
        Ukeylablen           AS STRING * 1
        Ukeydeflen           AS STRING * 1
        Filler1              AS INTEGER
        UkeyText             AS STRING * 160
END TYPE

'
'       Bufftype can be used to declare alternate key or command buffers.
'
TYPE bufftype
       xxx        AS STRING * 512
END TYPE

DECLARE FUNCTION api.rcheck% CDECL ()
DECLARE FUNCTION api.instchk% CDECL (SEG serno$)
DECLARE FUNCTION api.open% CDECL ()
DECLARE FUNCTION api.close% CDECL ()
DECLARE FUNCTION api.getinfo% CDECL (SEG buffer AS RINFO, BYVAL rvarlen%)
DECLARE FUNCTION api.getstatus% CDECL (SEG buffer AS RSTAT, BYVAL rvarlen%)
DECLARE FUNCTION api.startcommands% CDECL ()
DECLARE FUNCTION api.docommand% CDECL (SEG rcommand$)
DECLARE FUNCTION api.getvar% CDECL (SEG var$, BYVAL varnumber%, SEG rvarlen%)
DECLARE FUNCTION api.setvar% CDECL (SEG var$, BYVAL varnumber%)
DECLARE FUNCTION api.found% CDECL ()
DECLARE FUNCTION api.endcommands% CDECL ()
DECLARE FUNCTION api.screenread% CDECL (SEG scrbuffer$, BYVAL row%, BYVAL col%, BYVAL rvarlen%)
DECLARE FUNCTION api.keystatus% CDECL ()
DECLARE FUNCTION api.qkeys% CDECL (SEG keys$)
DECLARE FUNCTION api.clrkeybd% CDECL ()
DECLARE FUNCTION api.cmdstatus% CDECL ()
DECLARE FUNCTION api.qcmd% CDECL (SEG rcommand$)
DECLARE FUNCTION api.clrcmdq% CDECL ()
DECLARE FUNCTION api.releasedc% CDECL ()
DECLARE FUNCTION api.assertdc% CDECL ()
DECLARE FUNCTION api.popup% CDECL ()
DECLARE FUNCTION api.reset% CDECL ()
DECLARE FUNCTION api.getfkey% CDECL (SEG keybuff AS ukeytype, BYVAL keyno%)
DECLARE FUNCTION api.setfkey% CDECL (SEG keybuff AS ukeytype, BYVAL keyno%)
DECLARE FUNCTION api.offerbuf% CDECL (SEG buffer AS bufftype, BYVAL rvarlen%, BYVAL typ%)
DECLARE FUNCTION api.cancelbuf% CDECL ()
DECLARE FUNCTION api.wait% CDECL ()
DECLARE FUNCTION api.block% CDECL ()
DECLARE FUNCTION api.atrbscreen% CDECL (SEG scrbuffer$, BYVAL row%, BYVAL col%, BYVAL rvarlen%)
DECLARE FUNCTION api.searchscreen% CDECL (SEG srchstrng$, SEG row%, SEG col%)
DECLARE FUNCTION api.rdchar% CDECL (SEG char$)
DECLARE FUNCTION api.writeasync% CDECL (BYVAL i%)
DECLARE FUNCTION api.xmitstatus% CDECL ()
