Annotation of parser3/src/lib/smtp/smtp.h, revision 1.1

1.1     ! paf         1: /** @file
        !             2:        Parser: SMTP sender decl.
        !             3: 
        !             4:        Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com)
        !             5:        Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
        !             6: */
        !             7: 
        !             8: static const char * const IDENT_SMTP_H="$Date: 2003/11/20 16:34:24 $";
        !             9: 
        !            10: 
        !            11: #include "pa_string.h"
        !            12: 
        !            13: #include <winsock.h>
        !            14: 
        !            15: //////////////////////////////////////////////////////////////////////////////
        !            16: 
        !            17: #define SOCKET_BUFFER_SIZE     512
        !            18: 
        !            19: #define ERR_SENDING_DATA               4002
        !            20: #define ERR_NOT_A_SOCKET               4010
        !            21: #define ERR_CLOSING                    4012
        !            22: #define WAIT_A_BIT                     4013
        !            23: 
        !            24: #define MAXOUTLINE 255
        !            25: 
        !            26: //////////////////////////////////////////////////////////////////////////////
        !            27: 
        !            28: /// SIMPLE MAIL TRANSPORT PROTOCOL Win32 realization
        !            29: class SMTP: public PA_Object {
        !            30:     char            *in_buffer;
        !            31:     char            *out_buffer;
        !            32:     unsigned int       in_index;
        !            33:     unsigned int       out_index;
        !            34:     unsigned int       in_buffer_total;
        !            35:     unsigned int       out_buffer_total;
        !            36:     unsigned int       last_winsock_error;
        !            37:     fd_set             fds;
        !            38:     struct timeval     timeout;
        !            39: 
        !            40:     SOCKET     the_socket;
        !            41: 
        !            42:        char    my_hostname[1024];
        !            43: 
        !            44:     CHAR    ServerProtocol[100];
        !            45:     CHAR    RemoteAddress[100];
        !            46:     CHAR    RemoteHost[100];
        !            47:     CHAR    RemoteUser[100];
        !            48:     CHAR    HttpAccept[100];
        !            49:     CHAR    HttpUserAgent[256];
        !            50: 
        !            51:     CHAR    FirstName[100];
        !            52:     CHAR    LastName[100];
        !            53:     CHAR    WebUse[100];
        !            54:     CHAR    EMail[100];
        !            55:     CHAR    HomePage[100];
        !            56:     CHAR    text[500];
        !            57: 
        !            58: public:
        !            59:        SMTP();
        !            60:        override ~SMTP();
        !            61: 
        !            62:     // smtp.C
        !            63:        void    Send(const char* , const char* , const char* ,  char *, char *);
        !            64:        BOOL    MakeSmtpHeader(char *, char *, char *, char *);
        !            65:        void    prepare_message(char *, char *,  const char* , const char* );
        !            66:        void    open_socket(const char* , const char* );
        !            67:        int             get_line(void);
        !            68:        void    SendSmtpError(const char* );
        !            69:        void    transform_and_send_edit_data(const char* );
        !            70:        void    send_data(const char* );
        !            71:        void    ConnectToHost(const char* , const char* );
        !            72:        int             GetBuffer(int);
        !            73:        int             GetChar(int, char *);
        !            74:        void    SendLine(const char* , unsigned long);
        !            75:        void    SendBuffer(const char* , unsigned long);
        !            76:        void    FlushBuffer();
        !            77:        BOOL    CloseConnect();
        !            78: 
        !            79:     // comms.C
        !            80:     int      IsAddressARawIpaddress(const char* );
        !            81:     int      ResolveService(const char* , u_short *);
        !            82:     int      ResolveHostname(const char* , struct sockaddr_in *);
        !            83:     int      GetAndSetTheSocket(SOCKET *);
        !            84:     int      GetConnection(SOCKET, struct sockaddr_in *);
        !            85:     void     MiscSocketSetup(SOCKET, fd_set *, struct timeval *);
        !            86: };

E-mail: