home *** CD-ROM | disk | FTP | other *** search
- #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 */
-