#include #include DRV_LIST *sting_drivers; TPL *tpl; void main (void) { switch (sting_init()) { case -3 : puts ("STinG not loaded !"); return; case -2 : puts ("STinG structures corrupted !"); return; case -1 : puts ("No transport layer !"); return; } /* Your client code, which can make use of all client API calls */ } int sting_init (void) { sting_drivers = (DRV_LIST *) Supexec (get_sting_cookie); if (sting_drivers == NULL) return (-3); if (strcmp (sting_drivers->magic, MAGIC) != 0) return (-2); tpl = (TPL *) (*sting_drivers->get_dftab) (TRANSPORT_DRIVER); if (tpl == (TPL *) NULL) return (-1); return (0); } long get_sting_cookie (void) { long *work; for (work = * (long **) 0x5a0L; *work != 0L; work += 2) if (*work == 'STiK') return (*++work); return (0L); }