Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!cernvax!chx400!ethz!neptune!iiic.ethz.ch!mneerach From: mneerach@iiic.ethz.ch (Matthias Ulrich Neeracher) Newsgroups: comp.sys.mac.programmer Subject: Re: Modifying Inits Message-ID: <14402@neptune.inf.ethz.ch> Date: 9 Nov 90 17:06:23 GMT References: <2351.2737EA8E@blkcat.fidonet.org> Sender: news@neptune.inf.ethz.ch Reply-To: mneerach@iiic.ethz.ch (Matthias Ulrich Neeracher) Organization: Departement Informatik, ETH, Zurich Lines: 27 In article <2351.2737EA8E@blkcat.fidonet.org> Ken.Knight@f421.n109.z1.fidonet.org (Ken Knight) writes: ]I am in the process of writing a CDEV/INIT combination. The CDEV will be ]used to select various modules to run (like Pyro! or After Dark) and set ]some general parameters. I'm not quite sure how to pass the information ]to the INIT. [...] ] Are there any articles on this or similar subjects ](modifying the way an INIT runs during the current session)? I think this has been discussed several times, so I'll try to summarize: It is widely agreed that a very good method for new systems is to let the INIT register a pointer to its parameters with _Gestalt. For older systems, there is no generally accepted method. Solutions include the one you suggested (using resources), installing an IPC device driver, or storing the data in the heap, preceded by an unique label (Creator of INIT & your Name & your granma's Social Security Number. This label can then be found by traversing heap block headers or with a brute force search. I use in my INITs the latter method because it doesn't make any assumptions about the heap block structure. It has worked for me. Matthias ----- Matthias Neeracher mneerach@iiic.ethz.ch "These days, though, you have to be pretty technical before you can even aspire to crudeness." -- William Gibson, _Johnny Mnemonic_