#include <exec/types.h>
#include <exec/libraries.h>
#include <exec/memory.h>

#include <utility/tagitem.h>
#include <utility/date.h>

#include <dos/dos.h>

#include <libraries/aml.h>

#include <proto/exec.h>
#include <proto/dos.h>
#include <proto/utility.h>
#include <proto/aml.h>

#include <stdio.h>

#define  VERSION  44
#define  REVISION 1
#define  DATE  "20.9.99"
#define  VERS  "AddGroup 44.1"
#define  VSTRING  "AddGroup 44.1 (20.9.99) \r\n"
#define  VERSTAG  "\0$VER: AddGroup 44.1 (20.9.99) "

#define GROUPNAME "AmigaOS3.5"

static STRPTR developers[] =
{
   "Allan Odgaard", "duff@diku.dk",
   "Andre Doerffler", "adoerffler@haage-partner.com",
   "Christopher Aldi", "caldi@thule.no",
   "Dale Currie", "dalec@zorro.amitrix.com",
   "Deryk Robosson", "newlook@linux.tc3net.com",
   "Heinz Wrobel", "hwrobel@gmx.de",
   "Holger Kruse", "kruse@nordicglobal.com",
   "Joanne Dow", "jdow@bix.com",
   "Jochen Becher", "j.becher@haage-partner.com",
   "Juergen Haage", "j.haage@haage-partner.com",
   "Martin Steigerwald", "m.steigerwald@haage-partner.com",
   "Matt Chaput", "mchaput@aw.sgi.com",
   "Olaf Barthel", "olsen@logicalline.com",
   "Oliver Kastl", "olli@elaborate-bytes.com",
   "Sam Jordan", "sam_jordan@spin.ch",
   "Timothy Aston", "timmer@warped.com",
   "William Parker", "bill@amitrix.com",
   "Yvon Rozijn", "yrozijn@xs4all.nl",
   NULL, NULL
};

VOID main()
{
   struct Library *AmlBase;
   APTR server, ae;
   int i;

   if(AmlBase = (struct Library*)OpenLibrary("aml.library", 43))
   {
      if(server = CreateServer(SERVERA_Type, SVRTYPE_FILE, TAG_END))
      {
         i = 0;
         while(developers[i])
         {
            if(ae = CreateAddressEntry(
               ADDRESSA_Name, developers[i],
               ADDRESSA_EMail, developers[i+1],
               ADDRESSA_Group, GROUPNAME,
            TAG_END))
            {
               if(SaveAddressEntry(server, ae))
               {
                  fprintf(stderr, "error saving address entry.\n");
                  break;
               }
               DisposeAddressEntry(ae);
               ae = NULL;
            }
            else
            {
               fprintf(stderr, "error creating address entry.\n");
            }
            i += 2;
         }
         DisposeServer(server);
      }
      else
      {
         fprintf(stderr, "error creating server entry.\n");
      }
      CloseLibrary(AmlBase);
   }
   else
   {
      fprintf(stderr, "unable to open aml.library v43+\n");
   }
}
