Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site amiga.amiga.UUCP Path: utzoo!watmath!clyde!burl!ulysses!bellcore!decvax!decwrl!pyramid!amiga!stan From: stan@amiga.UUCP (Stanley Shepard) Newsgroups: net.micro.amiga Subject: Re: CreateExtIO and DeleteExtIO Message-ID: <775@amiga.amiga.UUCP> Date: Fri, 28-Feb-86 18:15:33 EST Article-I.D.: amiga.775 Posted: Fri Feb 28 18:15:33 1986 Date-Received: Sat, 1-Mar-86 22:43:01 EST References: <1394@caip.RUTGERS.EDU> Reply-To: stan@coach.UUCP (Stanley Shepard) Organization: Commodore-Amiga Inc., 983 University Ave #D, Los Gatos CA 95030 Lines: 55 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