#ifndef LIBRARIES_AML_H #define LIBRARIES_AML_H /* ** $VER: aml.h 44.1 (19.10.1999) ** Includes Release 44.1 ** ** AML library structures and constants ** ** (C) Copyright 1999 Amiga, Inc. ** All Rights Reserved */ /*****************************************************************************/ #ifndef EXEC_TYPES_H #include <exec/types.h> #endif #ifndef EXEC_NODES_H #include <exec/nodes.h> #endif #ifndef UTILITY_TAGITEM_H #include <utility/tagitem.h> #endif /*****************************************************************************/ #define AmlName "aml.library" #define AML_TB (TAG_USER+0x80000) /*****************************************************************************/ /* Server Attribute Tags */ #define SERVERA_Dummy (TAG_USER+0x100) #define SERVERA_HostName (SERVERA_Dummy+0) #define SERVERA_HostPort (SERVERA_Dummy+1) #define SERVERA_Directory (SERVERA_Dummy+2) #define SERVERA_UserName (SERVERA_Dummy+3) #define SERVERA_PassWord (SERVERA_Dummy+4) #define SERVERA_Type (SERVERA_Dummy+5) #define SERVERA_Flags (SERVERA_Dummy+6) #define SERVERA_Socket (SERVERA_Dummy+7) #define SERVERA_UserData (SERVERA_Dummy+8) #define SERVERA_ProgressHook (SERVERA_Dummy+9) #define SERVERA_SpoolFile (SERVERA_Dummy+10) #define SERVERA_NewsGroup (SERVERA_Dummy+11) #define SERVERA_LogFile (SERVERA_Dummy+12) #define SERVERA_MaxSize (SERVERA_Dummy+13) #define SERVERA_MaxLines (SERVERA_Dummy+14) #define SERVERA_MaxWarning (SERVERA_Dummy+15) /* Values for SERVERA_Type */ #define SVRTYPE_SMTP (0) /* sending data via smtp */ #define SVRTYPE_POP3 (1) /* pop retrieval and local folders */ #define SVRTYPE_IMAP (2) /* unsupported */ #define SVRTYPE_NNTP (3) /* unsupported */ #define SVRTYPE_LDAP (4) /* unsupported */ #define SVRTYPE_FILE (5) /* For address/file "servers" */ /* Structure used for progress callbacks. */ struct ServerProgressData { ULONG spd_Type; ULONG spd_Action; ULONG spd_Flags; /* X of Y progress */ ULONG spd_Current; ULONG spd_Total; /* (sub) progress on each of X thru Y */ ULONG spd_CSize; ULONG spd_TSize; }; /* Values for spd_Type */ #define SPDT_SERVER (0) #define SPDT_FOLDER (1) #define SPDT_ARTICLE (2) #define SPDT_PART (3) #define SPDT_ADDRESS (4) #define SPDT_DECODER (5) /* Values for spd_Action */ #define SPDA_ERROR (~0) #define SPDA_NONE (0) #define SPDA_SCANINDEX (1) #define SPDA_EDITINDEX (2) #define SPDA_DELETE (3) #define SPDA_PARSING (4) #define SPDA_POPGET (5) #define SPDA_SMTPSEND (6) #define SPDA_DECODING (7) #define SPDA_CONNECT (8) #define SPDA_DISCONNECT (9) #define SPDA_SENDPASS (10) #define SPDA_SENDUSER (11) /* Flags for spd_Flags */ #define SPDF_INITIAL (1 << 0) #define SPDF_UPDATE (1 << 1) #define SPDF_END (1 << 2) #define SPDF_STATUS (1 << 3) /* Structure for article retrieval folder routing callback. */ struct ArticleDisposition { APTR ad_Article; APTR ad_Folder; ULONG ad_MsgSize; ULONG ad_MsgNumber; ULONG ad_MsgTotal; }; /* Flags for GetServerArticles() */ #define GSAF_DELETE (1) #define GSAF_SPOOL (2) #define GSAF_STATUS (4) /*****************************************************************************/ /* Folder Attribute Tags */ #define FOLDERA_Dummy (TAG_USER+0x200) #define FOLDERA_Path (FOLDERA_Dummy+0) #define FOLDERA_Name (FOLDERA_Dummy+1) #define FOLDERA_DefaultName (FOLDERA_Dummy+2) #define FOLDERA_SpoolFile (FOLDERA_Dummy+3) #define FOLDERA_MsgCount (FOLDERA_Dummy+4) #define FOLDERA_Flags (FOLDERA_Dummy+5) #define FOLDERA_Accessed (FOLDERA_Dummy+6) #define FOLDERA_Created (FOLDERA_Dummy+7) #define FOLDERA_UserData (FOLDERA_Dummy+8) #define FOLDERA_FirstMsgID (FOLDERA_Dummy+9) #define FOLDERA_LastMsgID (FOLDERA_Dummy+10) #define FOLDERA_LastRead (FOLDERA_Dummy+11) #define FOLDERA_NumRead (FOLDERA_Dummy+12) /* Values for FOLDERA_DefaultName */ #define FOLDER_DEF_INBOX (0) #define FOLDER_DEF_OUTBOX (1) #define FOLDER_DEF_TRASH (2) #define FOLDER_DEF_DRAFTS (3) #define FOLDER_DEF_SAVED (4) #define FOLDER_DEF_SPOOL (5) /* Folder indexing public data structure. */ struct FolderIndex { ULONG fi_Number; ULONG fi_Status; ULONG fi_Size; ULONG fi_Date; UBYTE fi_From[64]; UBYTE fi_To[64]; UBYTE fi_Subject[128]; }; /* Flags for FolderIndex.fi_Status and ARTICLEA_Status */ #define STATUS_UNREAD (1L << 1) #define STATUS_REPLIED (1L << 2) #define STATUS_EDITED (1L << 3) #define STATUS_FORWARD (1L << 4) #define STATUS_DELETED (1L << 5) #define STATUS_SAVED (1L << 6) #define STATUS_NEW (1L << 7) #define STATUS_MARKED (1L << 8) #define STATUS_MUNREAD (1L << 9) #define STATUS_UUCODE (1L << 10) #define STATUS_SECURE (1L << 11) #define STATUS_AUTH (1L << 12) #define STATUS_BOUNCED (1L << 13) /* Field Identifiers for SortFolderIndex() */ #define FIELD_NUMBER 0 #define FIELD_TO 1 #define FIELD_SUBJECT 2 #define FIELD_FROM 3 #define FIELD_SIZE 4 #define FIELD_DATE 5 #define FIELD_THREAD 6 /*****************************************************************************/ /* Article Attribute Tags */ #define ARTICLEA_Dummy (TAG_USER+0x300) #define ARTICLEA_To (ARTICLEA_Dummy+0) #define ARTICLEA_Cc (ARTICLEA_Dummy+1) #define ARTICLEA_Bcc (ARTICLEA_Dummy+2) #define ARTICLEA_From (ARTICLEA_Dummy+3) #define ARTICLEA_ReplyTo (ARTICLEA_Dummy+4) #define ARTICLEA_Date (ARTICLEA_Dummy+5) #define ARTICLEA_DateVal (ARTICLEA_Dummy+6) #define ARTICLEA_Subject (ARTICLEA_Dummy+7) #define ARTICLEA_ContentEncoding (ARTICLEA_Dummy+8) #define ARTICLEA_ContentType (ARTICLEA_Dummy+9) #define ARTICLEA_ContentSubType (ARTICLEA_Dummy+10) #define ARTICLEA_ContentTypeParams (ARTICLEA_Dummy+11) #define ARTICLEA_Flags (ARTICLEA_Dummy+12) #define ARTICLEA_Status ARTICLEA_Flags #define ARTICLEA_XFace (ARTICLEA_Dummy+13) #define ARTICLEA_MessageID (ARTICLEA_Dummy+14) #define ARTICLEA_Reference (ARTICLEA_Dummy+15) #define ARTICLEA_Groups (ARTICLEA_Dummy+16) /* NNTP NEWS ONLY */ #define ARTICLEA_UserData (ARTICLEA_Dummy+17) #define ARTICLEA_ReturnReceipt (ARTICLEA_Dummy+18) #define ARTICLEA_SigFile (ARTICLEA_Dummy+19) #define ARTICLEA_CustomHeaders (ARTICLEA_Dummy+20) #define ARTICLEA_NumParts (ARTICLEA_Dummy+21) #define ARTICLEA_Organization (ARTICLEA_Dummy+22) #define ARTICLEA_Number (ARTICLEA_Dummy+23) #define PARTA_Name (ARTICLEA_Dummy+50) #define PARTA_ContentType (ARTICLEA_Dummy+51) #define PARTA_ContentSubType (ARTICLEA_Dummy+52) #define PARTA_ContentTypeParams (ARTICLEA_Dummy+53) #define PARTA_Flags (ARTICLEA_Dummy+54) #define PARTA_ContentEncoding (ARTICLEA_Dummy+55) #define PARTA_DataFilename (ARTICLEA_Dummy+56) #define PARTA_DataFile (ARTICLEA_Dummy+57) #define PARTA_DataString (ARTICLEA_Dummy+58) #define PARTA_DataBuffer (ARTICLEA_Dummy+59) #define PARTA_DataLength (ARTICLEA_Dummy+60) #define PARTA_ContentDesc (ARTICLEA_Dummy+61) /* Values for AddFolderArticle(..., type, ...); */ #define ARTICLE_TYPE_FILE (0) #define ARTICLE_TYPE_ARTICLE (1) #define ARTICLE_TYPE_BUFFER (2) /*****************************************************************************/ /* Address Attribute Tags */ #define ADDRESSA_Dummy (TAG_USER+0x400) #define ADDRESSA_Name (ADDRESSA_Dummy+0) #define ADDRESSA_Address (ADDRESSA_Dummy+1) #define ADDRESSA_City (ADDRESSA_Dummy+2) #define ADDRESSA_State (ADDRESSA_Dummy+3) #define ADDRESSA_Zip (ADDRESSA_Dummy+4) #define ADDRESSA_Country (ADDRESSA_Dummy+5) #define ADDRESSA_Phone (ADDRESSA_Dummy+6) #define ADDRESSA_Fax (ADDRESSA_Dummy+7) #define ADDRESSA_Comments (ADDRESSA_Dummy+8) #define ADDRESSA_Group (ADDRESSA_Dummy+9) #define ADDRESSA_Flags (ADDRESSA_Dummy+10) #define ADDRESSA_URL (ADDRESSA_Dummy+11) #define ADDRESSA_EMail (ADDRESSA_Dummy+12) #define ADDRESSA_UserData (ADDRESSA_Dummy+13) #define ADDRESSA_PartialMatch (ADDRESSA_Dummy+14) #define ADDRESSA_ICQ (ADDRESSA_Dummy+15) #define ADDRESSA_FTP (ADDRESSA_Dummy+16) #define ADDRESSA_Company (ADDRESSA_Dummy+17) #define ADDRESSA_JobTitle (ADDRESSA_Dummy+18) #define ADDRESSA_MobilePhone (ADDRESSA_Dummy+19) #define ADDRESSA_ImageFile (ADDRESSA_Dummy+20) #define ADDRESSA_EntryType (ADDRESSA_Dummy+21) #define ADDRESSA_EntryID (ADDRESSA_Dummy+22) #define ADDRESSA_EntryGeneration (ADDRESSA_Dummy+23) /* ADDRESSA_EntryType (defaults to ENTRY_USER) */ #define ENTRY_USER (1) #define ENTRY_WWW (2) #define ENTRY_FTP (3) #define ENTRY_CHAT (4) #define ENTRY_GROUP (5) /*****************************************************************************/ /* Decoder tags */ #define DECODERA_Dummy (TAG_USER+0x500) #define DECODERA_SourceFile (DECODERA_Dummy+1) #define DECODERA_SourceHandle (DECODERA_Dummy+3) #define DECODERA_SourceBuffer (DECODERA_Dummy+5) #define DECODERA_SourceLen (DECODERA_Dummy+7) #define DECODERA_DestFile (DECODERA_Dummy+2) #define DECODERA_DestHandle (DECODERA_Dummy+4) #define DECODERA_DestBuffer (DECODERA_Dummy+6) #define DECODERA_DestLen (DECODERA_Dummy+8) #define DECODERA_Lines (DECODERA_Dummy+9) #define DECODERA_Flags (DECODERA_Dummy+10) #define DECODERA_Boundary (DECODERA_Dummy+11) /* Values for DECODERA_Flags */ #define DECF_USEBOUNDARY (1L << 0) /* En/decoding type values. */ #define DECODE_ERROR (-1) #define DECODE_COPY (0) #define DECODE_QP (1) #define DECODE_B64 (2) #define DECODE_UU (3) #define DECODE_HEX (6) #define DECODE_ROT (7) #define ENCODE_ERROR (-1) #define ENCODE_COPY (0) #define ENCODE_QP (1) #define ENCODE_B64 (2) #define ENCODE_UU (3) #define ENCODE_8BIT (4) #define ENCODE_7BIT (5) #define ENCODE_HEX (6) #define ENCODE_ROT (7) /*****************************************************************************/ #endif /* LIBRARIES_AML_H */