gm2-libs-iso/RTio (The GNU Modula-2 Compiler)

#### 4.4.38 gm2-libs-iso/RTio ¶

    DEFINITION MODULE RTio ;

    (*
        Description: provides low level routines for creating and destroying
                     ChanIds.  This is necessary to allow multiple modules
                     to create, ChanId values, where ChanId is an opaque
                     type.
    *)

    IMPORT FIO, IOLink ;

    TYPE
       ChanId ;

    (*
       InitChanId - return a new ChanId.
    *)

    PROCEDURE InitChanId () : ChanId ;

    (*
       KillChanId - deallocate a ChanId.
    *)

    PROCEDURE KillChanId (c: ChanId) : ChanId ;

    (*
       NilChanId - return a NIL pointer.
    *)

    PROCEDURE NilChanId () : ChanId ;

    (*
       GetDeviceId - returns the device id, from, c.
    *)

    PROCEDURE GetDeviceId (c: ChanId) : IOLink.DeviceId ;

    (*
       SetDeviceId - sets the device id in, c.
    *)

    PROCEDURE SetDeviceId (c: ChanId; d: IOLink.DeviceId) ;

    (*
       GetDevicePtr - returns the device table ptr, from, c.
    *)

    PROCEDURE GetDevicePtr (c: ChanId) : IOLink.DeviceTablePtr ;

    (*
       SetDevicePtr - sets the device table ptr in, c.
    *)

    PROCEDURE SetDevicePtr (c: ChanId; p: IOLink.DeviceTablePtr) ;

    (*
       GetFile - returns the file field from, c.
    *)

    PROCEDURE GetFile (c: ChanId) : FIO.File ;

    (*
       SetFile - sets the file field in, c.
    *)

    PROCEDURE SetFile (c: ChanId; f: FIO.File) ;

    END RTio.