walton%Deimos.Caltech.Edu@Hamlet.Caltech.Edu@caip.RUTGERS.EDU (02/27/86)
From: walton%Deimos.Caltech.Edu@Hamlet.Caltech.Edu The VTBeep routines and the terminal emulator passed out yesterday in the net refer to the routines CreateExtIO and DeleteExtIO. Both of these come up as undefined external references when these programs are compiled and linked on my system, which I believe has the latest versions of all software: version 1.1 of KickStart and Workbench and 3.03B of Lattice C. The makefile for the terminal program refers to the initial object file Astartup.o which was provided under Version 3.02 of Lattice C, so it presumably compiles under that version. Any ideas? Steve Walton Caltech Solar Astronomy
dillon@CORY.BERKELEY.EDU (Matt Dillon) (02/28/86)
The routines don't exist. I believe that one of the manual's has a listing of them, though. -Matt
stan@amiga.UUCP (Stanley Shepard) (03/01/86)
In article <1394@caip.RUTGERS.EDU> walton%Deimos.Caltech.Edu@Hamlet.Caltech.Edu@caip.RUTGERS.EDU writes: >From: walton%Deimos.Caltech.Edu@Hamlet.Caltech.Edu > > .. VTBeep ... refer(s) to the routines CreateExtIO and DeleteExtIO. >Both of these come up as undefined external references when these programs >are compiled and linked on my system, (1.1 System 3.03B Lattice) > >Any ideas? > The problem is that the object modules were not distributed in amiga.lib the soource for these modules can be found in Vol 2 of the ROM Kernal manual. The following is a brief code fragment excercised from the aforementioned source. (bunches of includes) (title block) struct IORequest *CreateExtIO(ioReplyPort,size) struct MsgPort *ioReplyPort; LONG size; { struct IORequest *ioReq; if (ioReplyPort == 0) return( (struct IORequest *) 0); ioReq = (struct IORequest *)AllocMem(size, MEMF_CLEAR | MEMF_PUBLIC); if (ioReq == 0) return( (struct IORequest *) 0); ioReq->ioMessage.mn_Node.ln_Type = NT_MESSAGE; ioReq->ioMessage.mn_Node.ln_Pri = 0; ioReq->ioMessage.mn_ReplyPort = io_ReplyPort; return(ioReq); } (another title block) DeleteExtIO(ioExt,size) struct IORequest ioExt; LONG size; { ioExt->io_Message.mn_Node.ln_Type = 0xff; ioExt->io_Device = (struct Device *) -1; ioExt->io_Unit = (struct Unit *) -1; FreeMem (ioExt, size); } I hope the above helps. Stan Shepard Commodore-Amiga