[comp.sys.mac.programmer] Foreground aps on AppleShare server

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 :-)