uIP 1.0
|
/** * \addtogroup smtp * @{ */ /** * \file * Заголовочный файл SMTP * \author Adam Dunkels <adam@dunkels.com> */ /* * Copyright (c) 2002, Adam Dunkels. * Все права зарезервированы. * * Повторное распространение, использование в исходном и двоичном виде, * с модификацией или без - разрешается, если выполняются следующие * условия: * 1. Распространение исходного кода должно сохранить вышеуказанную пометку * копирайта, этот список условий и следующую правовую оговорку. * 2. Распространение исходного кода должно сохранить вышеуказанную пометку * копирайта, этот список условий и следующую правовую оговорку в * документации и/или других материалах, которые будут предоставлены * вместе с распространяемыми материалами. * 3. Имя автора не может использоваться, чтобы подтвердить или продвинуть * продукты, написанные с использованием этого программного обеспечения * без специального на то разрешения. * * ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ АВТОРОМ ``КАК ЕСТЬ'', БЕЗ * КАКОЙ-ЛИБО ЛЮБОЙ РАСШИРЕННОЙ ИЛИ ПОДРАЗУМЕВАЕМОЙ ГАРАНТИИ, ВКЛЮЧАЯ, * НО НЕ ОГРАНИЧИВАЯСЬ ЭТИМ, ГАРАНТИИ ВЫСОКОГО СПРОСА И ПРИГОДНОСТИ * ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. АВТОР НИ ПРИ КАКИХ УСЛОВИЯХ НЕ ОТВЕТСТВЕНЕН * ЗА ЛЮБЫЕ УБЫТКИ - ПРЯМЫЕ, КОСВЕННЫЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ, ОБРАЗЦОВЫЕ * ИЛИ ПОСЛЕДОВАТЕЛЬНЫЕ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ЭТИМ, ТРЕБОВАНИЯ * ЗАМЕНЫ ТОВАРА ИЛИ СЕРВИСА; ПОТЕРИ ИСПОЛЬЗОВАНИЯ, ДАННЫХ ИЛИ ВЫГОДЫ; * ИЛИ ПРЕКРАЩЕНИЕ БИЗНЕСА), ОДНАКО ВЫЗВАННЫЕ ПО ЛЮБОЙ ТЕОРИИ ОТВЕТСТВЕННОСТИ, * ЛИБО В КОНТРАКТЕ, ПРЯМОЙ ОТВЕТСТВЕННОСТИ, ЛИБО В НАРУШЕНИИ ЗАКОННЫХ ПРАВ * (ВКЛЮЧАЯ ТАК ИЛИ ИНАЧЕ НЕБРЕЖНОСТЬ), ВОЗНИКАЮЩИЕ ВСЕГДА ИЗ ИСПОЛЬЗОВАНИЯ * ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ДАЖЕ ЕСЛИ БЫЛО ПРЕДУПРЕЖДЕНИЕ О ВОЗМОЖНОСТИ * ТАКОГО ПОВРЕЖДЕНИЯ. * * Этот файл является частью стека uIP TCP/IP. * * $Id: smtp.h,v 1.4 2006/06/11 21:46:37 adam Exp $ * */ #ifndef __SMTP_H__ #define __SMTP_H__ #include "uipopt.h" /** * Номер, который указывает на отсутствие ошибки. */ #define SMTP_ERR_OK 0 /** * Функция обратного вызова (callback), которая вызывается, когда передача * e-mail завершена. * * Эта функция должна быть реализована в том модуле кода, который использует * модуль SMTP. * * \param error Номер ошибки, если она была, или SMTP_ERR_OK. */ void smtp_done(unsigned char error); void smtp_init(void); /* Функции. */ void smtp_configure(char *localhostname, u16_t *smtpserver); unsigned char smtp_send(char *to, char *from, char *subject, char *msg, u16_t msglen); #define SMTP_SEND(to, cc, from, subject, msg) \ smtp_send(to, cc, from, subject, msg, strlen(msg)) void smtp_appcall(void); struct smtp_state { u8_t state; char *to; char *from; char *subject; char *msg; u16_t msglen; u16_t sentlen, textlen; u16_t sendptr; }; #ifndef UIP_APPCALL #define UIP_APPCALL smtp_appcall #endif typedef struct smtp_state uip_tcp_appstate_t; #endif /* __SMTP_H__ */ /** @} */