home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 4 / Amiga Tools 4.iso / tools / internet-tools / connect-line / cl / devkit / c / include / cl_mail.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-11-12  |  2.5 KB  |  73 lines

  1. #ifndef _CL_CL_MAIL_H
  2. #define _CL_CL_MAIL_H
  3.  
  4. /*
  5.  *
  6.  *  cl_mail_#?.library common definitions
  7.  *
  8.  */
  9.  
  10. typedef struct CLMail_SendInfo {
  11.       struct CLMail_SendInfo *next;
  12.       struct Box *box;   /* Box */
  13.       ULONG  flags;      /* noch NULL */
  14. } CLMail_SendInfo;
  15.  
  16. typedef struct CLMail_BoxInfo {
  17.     char   boxname[ 40 ];                    /* Copy of boxname */
  18.     struct Box *box;                        /* Backlink for easy access */
  19.     ULONG  lockers;                            /* how many times box is locked */
  20.     time_t data;                            /* newest data */
  21.     ULONG  out_mail,                        /* currently outgoing mail */
  22.            out_news,                        /* currently outgoing news */
  23.            out_batched,                        /* outgoing batched data */
  24.            out_files;                        /* outgoing other data (e.g. filereqs) */
  25.     ULONG  out_accu;                        /* outgoing data accumulated */
  26.     ULONG  reserved[ 32 ];
  27. } CLMail_BoxInfo;
  28.  
  29. /* Tags for send */
  30.  
  31. #define CLMAILTAG_BASE (TAG_USER)
  32. #define CLMAILTAG_MEMORY (CLMAILTAG_BASE + 1)
  33. #define CLMAILTAG_LENGTH (CLMAILTAG_BASE + 2)
  34. #define CLMAILTAG_FILE     (CLMAILTAG_BASE + 3)
  35. #define CLMAILTAG_OFFSET (CLMAILTAG_BASE + 4)
  36. #define CLMAILTAG_FILENAME (CLMAILTAG_BASE + 5)
  37.  
  38. #ifndef NOPRAG
  39.  
  40. #pragma libcall CLMailBase CLMAIL_SendA 1e A9803
  41. #pragma tagcall CLMailBase CLMAIL_SendTags 1e A9803
  42. #pragma libcall CLMailBase CLMAIL_AllocFile 24 0802
  43. #pragma libcall CLMailBase CLMAIL_FreeFile 2a 801
  44. #pragma libcall CLMailBase CLMAIL_FlushAll 30 0
  45. #pragma libcall CLMailBase CLMAIL_Batch 36 0802
  46. #pragma libcall CLMailBase CLMAIL_BoxInfo 3c 9802
  47. #pragma libcall CLMailBase CLMAIL_HandleTrash 42 801
  48. #pragma tagcall CLMailBase CLMAIL_HandleTrashTags 42 801
  49. #pragma libcall CLMailBase CLMAIL_TestNetLogin 48 801
  50. #pragma libcall CLMailBase CLMAIL_HandleNetcall 4e A9803
  51. #pragma libcall CLMailBase CLMAIL_DoNetcall 54 B10A9806
  52. #pragma libcall CLMailBase CLMAIL_QuerySpecial 5a 0
  53.  
  54. extern struct Library *CLMailBase;
  55.  
  56. int CLMAIL_SendA( struct CLMail_SendInfo *, HH, struct TagItem * );
  57. int CLMAIL_SendTags( struct CLMail_SendInfo *, HH, ... );
  58. void CLMAIL_AllocFile( struct Box *, int );
  59. void CLMAIL_FreeFile( struct Box * );
  60. void CLMAIL_FlushAll( void );
  61. void CLMAIL_Batch( struct Box *box, int flags );
  62. void CLMAIL_BoxInfo( struct Box *box, CLMail_BoxInfo *boxinfo );
  63. int CLMAIL_HandleTrash( struct TagItems * );
  64. int CLMAIL_HandleTrashTags( ... );
  65. ULONG CLMAIL_TestNetLogin( STRPTR string );
  66. ULONG CLMAIL_HandleNetcall( APTR serhandle, STRPTR portid, struct PortInfo *pi );
  67. ULONG CLMAIL_DoNetcall( APTR serhandle, STRPTR portid, struct Box *box, ULONG retries, ULONG flags, struct PortInfo *pi );
  68. STRPTR CLMAIL_QuerySpecial( void );
  69.  
  70. #endif
  71.  
  72. #endif
  73.