Bruce.Hoult@bbs.actrix.gen.nz (Bruce Hoult) (02/07/91)
I want to write an application-specific program that runs on an AppleShare server to provide high-level access to a database residing on the server (using AppleTalk). The question is: a) I beleive "foreground" programs on a server have to do something special in order to co-exist with AppleShare, but I can't find anything in APDAlog that would document this. Can someone give me a precis? b) can I write an INIT that installs a driver on an AppleShare server? I'd rather use an application if I can, since that will make it possible to use OOP. I'm quite happy with how I can implement this on an ordinary Mac -- it's just co-existing with AppleShare which poses uncertainties. Thanks for any tips. -- Bruce -- Bruce.Hoult@bbs.actrix.gen.nz Twisted pair: +64 4 772 116 BIX: brucehoult Last Resort: PO Box 4145 Wellington, NZ "And they shall beat their swords into plowshares, for if you hit a man with a plowshare, he's going to know he's been hit."
peirce@outpost.UUCP (Michael Peirce) (02/08/91)
There's a tech note on this, number 167. It's short so I'll just include it here: #167: AppleShare Foreground Applications See also: AppleShare AdministratorUs Guide Written by: Fred A. Huxham November 2, 1987 Updated: March 1, 1988 _______________________________________________________________________ This technical note outlines the requirements and restrictions of an AppleShare foreground application. This information pertains to AppleShare versions 1.1 and newer. _______________________________________________________________________ An AppleShare server requires a dedicated Macintosh. The server, however, is implemented as an interrupt-driven application that runs in the system heap of the server machine. This allows the running of a concurrent or foreground application that will live in the application heap of the server machine. An example of a foreground application is LaserShare, the LaserWriter spooler available from Apple. An AppleShare foreground application has a few additional restrictions and requirements beyond that of a normal Macintosh application: 1. In order for AppleShare to recognize your program as a foreground application, it must contain a resource of type 'fgnd', ID=1, containing a longword of $00000000. 2. Do not make any file system calls outside of server volumesU Server Folders. If a foreground application needs to create files, it is recommended that the application create a folder inside the Server Folder and then create all its files within that folder. For example, all print spooler or e-mail files must reside within the Server Folder, and preferably, within a folder that is inside the Server Folder. To find the Server Folder: JJ % Make a PBHGetVlnfo call on the volume. J J% Examine ioVFndrInfo[8] (long integer) JJ % If ioVFndrInfo[8] is non-zero, it is the directory ID of the Server Folder. 3. Do not to make file system calls or to modify the following in any way: the AppleShare server application, the Parallel Directory Structure, or the User or Group data bases within the Server Folder of any volume. Also, do not rely on the presence or formats of these structures, as they are subject to change! 4. Do not eject or unmount a volume that is not in drive 1 or 2. 5. Do not call the Shutdown trap; instad, quit by calling ExitToShell or by dropping out of the main event loop. -- Michael Peirce -- outpost!peirce@claris.com -- Peirce Software -- Suite 301, 719 Hibiscus Place -- Macintosh Programming -- San Jose, California 95117 -- & Consulting -- (408) 244-6554, AppleLink: PEIRCE -- Ask me about AppSizer (and ask Claris about Public Folder :-)