home *** CD-ROM | disk | FTP | other *** search
/ Fujiology Archive / fujiology_archive_v1_0.iso / !MAGS / ATOS / ATOS_ALL.ZIP / news / cookie-5.c < prev    next >
Encoding:
C/C++ Source or Header  |  2001-02-21  |  1.2 KB  |  63 lines

  1. #ifdef __TURBOC__
  2. #include <tos.h>
  3. #else
  4. #ifdef __GNUC__
  5. #include <osbind.h>
  6. #else
  7. #include <tosbind.h>
  8. #endif
  9. #endif
  10. #include <stdio.h>
  11.  
  12. #define _p_cookies (void *)0x5a0l
  13. #define NULL_COOKIE 0l
  14.  
  15. typedef struct cookie_entry {
  16.    union {
  17.       unsigned long name_long;
  18.       char name_array[4];
  19.    } name;
  20.    unsigned long value;
  21. } CookieEntry;
  22.  
  23. CookieEntry *GetCookieJar(void)
  24. {  long OldStack;
  25.    CookieEntry *CookieJar;
  26.  
  27.    OldStack = Super(0L);
  28.    CookieJar = *((CookieEntry**)_p_cookies);
  29.    Super((void *)OldStack);
  30.    return CookieJar;
  31. }
  32.  
  33. void PrintCookie(CookieEntry *Cookie)
  34. {
  35.    printf("Name des Cookies: %d\n", Cookie->name.name_long);
  36.    printf("Wert des Cookies: %d\n", Cookie->value);
  37. }
  38.  
  39. int IsNullCookie(CookieEntry *Cookie)
  40. {
  41.    return (Cookie->name.name_long == NULL_COOKIE);
  42. }
  43.  
  44. void TraverseCookieJar(CookieEntry *Cookie)
  45. {
  46.    while (!IsNullCookie(Cookie))
  47.    {
  48.       PrintCookie(Cookie);
  49.       Cookie++;
  50.    }
  51. }
  52.  
  53. int main(void)
  54. {  CookieEntry *CookieJar;
  55.  
  56.    CookieJar = GetCookieJar();
  57.    if (CookieJar == (CookieEntry *)0)
  58.       printf("Dieses System hat keinen Cookie Jar\n");
  59.    else
  60.       TraverseCookieJar(CookieJar);
  61.    return 0;
  62. }
  63.