home *** CD-ROM | disk | FTP | other *** search
/ AMIGA-CD 2 / Amiga-CD - Volume 2.iso / ungepackte_daten / 1994 / 6 / 02 / tips&tricks / cxflush.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-06-01  |  1.5 KB  |  67 lines

  1. #include <exec/exec.h>
  2. #include <libraries/commodities.h>
  3. #include <string.h>
  4. #include <proto/exec.h>
  5. #include <proto/commodities.h>
  6. #include <proto/dos.h>
  7.  
  8. #pragma libcall CxBase commoditiesPrivate2 ba \
  9.                        801 /* CopyBrokerList */
  10. #pragma libcall CxBase commoditiesPrivate3 c0 \
  11.                        801 /* FreeBrokerList */
  12. #pragma libcall CxBase commoditiesPrivate4 c6 802 \
  13.                        /* BrokerCommand  */
  14.  
  15. LONG commoditiesPrivate2(struct List *);
  16. LONG commoditiesPrivate3(struct List *);
  17. LONG commoditiesPrivate4(char *, LONG id);
  18.  
  19. struct Library *CxBase;
  20.  
  21. struct BrokerCopy
  22.  {
  23.   struct Node  bc_Node;
  24.   char   bc_Name[CBD_NAMELEN];
  25.   char   bc_Title[CBD_TITLELEN];
  26.   char   bc_Descr[CBD_DESCRLEN];
  27.   LONG   bc_Task;
  28.   LONG   bc_Dummy1;
  29.   LONG   bc_Dummy2;
  30.   UWORD  bc_Flags;
  31.  };
  32.  
  33. /* Diese Funktion schickt an alle Commodities
  34.  * das CXCMD_KILL-Kommando.
  35.  */
  36. void SendToAllBrokers(void)
  37. {
  38.  struct List *BrokerList;
  39.  struct Node *Node, *NextNode;
  40.  
  41.  if (BrokerList = AllocVec(sizeof(struct List),
  42.                                   MEMF_PUBLIC))
  43.  {
  44.    NewList(BrokerList);
  45.    commoditiesPrivate2(BrokerList);
  46.    for (Node=BrokerList->lh_Head;
  47.         Node&&(NextNode=Node->ln_Succ);Node=NextNode)
  48.    {
  49.     commoditiesPrivate4((char *)
  50.      ((struct BrokerCopy *)Node)->bc_Name,CXCMD_KILL);
  51.    }
  52.    commoditiesPrivate3(BrokerList);
  53.    FreeVec(BrokerList);
  54.  }
  55. }
  56.  
  57. main()
  58. {
  59.  /* Commodities-Library öffnen */
  60.  if (CxBase = OpenLibrary("commodities.library", 37))
  61.  {
  62.   SendToAllBrokers();
  63.   CloseLibrary(CxBase);
  64.  }
  65. }
  66.  
  67.