DELISTARTUP This C startup code facilitates the writing of DeliTracker genies in C. It was written with SAS/C in mind, and compiles with the SAS/C assembler, but I guess it's possible to modify it to suit other C compilers - if they follow more or less the same conventions as SAS/C, you can probably just use it straight away. To make a C genie, you must have an externally visible array of longwords called 'DeliTags'. This is the standard genie/player tag array needed by DeliTracker. It should always start with the 'DeliHeader' macro defined in DeliPlayer.h. Its format is as follows: DeliHeader(genie name, stacksize, priority, deliversion) So your DeliTags array should look something like this: ULONG DeliTags[] = { DeliHeader("MyGenie",4096,0,17), ... other tags ... TAG_DONE, }; The parameters correspond to the following tags: DTP_PlayerName, DTP_StackSize, DTP_Priority, DTP_RequestDTVersion. The macro also defines tags needed by the startup code. There are two globally visible variables you should be aware of: 'DeliBase', a pointer to the DeliTracker globals, and 'DeliPort', a pointer to your genie's message port. DeliTracker functions should be called through the provided functions in the startup code; see DeliPlayer.h for their prototypes. NOTE: This startup code only supports writing asynchronous genies. Writing synchronous genies in C would be rather stupid anyway.