uIP 1.0
C:/asm/STM32-ethernet/ENC28J60prj/uip-master/apps/smtp/smtp.h
См. документацию.
00001 /**
00002  * \addtogroup smtp
00003  * @{
00004  */
00005 
00006 
00007 /**
00008  * \file
00009  * Заголовочный файл SMTP
00010  * \author Adam Dunkels <adam@dunkels.com>
00011  */
00012 
00013 /*
00014  * Copyright (c) 2002, Adam Dunkels.
00015  * Все права зарезервированы. *
00016  * Повторное распространение, использование в исходном и двоичном виде,
00017  * с модификацией или без - разрешается, если выполняются следующие
00018  * условия:
00019  * 1. Распространение исходного кода должно сохранить вышеуказанную пометку
00020  *    копирайта, этот список условий и следующую правовую оговорку.
00021  * 2. Распространение исходного кода должно сохранить вышеуказанную пометку
00022  *    копирайта, этот список условий и следующую правовую оговорку в
00023  *    документации и/или других материалах, которые будут предоставлены
00024  *    вместе с распространяемыми материалами.
00025  * 3. Имя автора не может использоваться, чтобы подтвердить или продвинуть
00026  *    продукты, написанные с использованием этого программного обеспечения
00027  *    без специального на то разрешения.
00028  *
00029  * ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ АВТОРОМ ``КАК ЕСТЬ'', БЕЗ
00030  * КАКОЙ-ЛИБО ЛЮБОЙ РАСШИРЕННОЙ ИЛИ ПОДРАЗУМЕВАЕМОЙ ГАРАНТИИ, ВКЛЮЧАЯ,
00031  * НО НЕ ОГРАНИЧИВАЯСЬ ЭТИМ, ГАРАНТИИ ВЫСОКОГО СПРОСА И ПРИГОДНОСТИ
00032  * ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. АВТОР НИ ПРИ КАКИХ УСЛОВИЯХ НЕ ОТВЕТСТВЕНЕН
00033  * ЗА ЛЮБЫЕ УБЫТКИ - ПРЯМЫЕ, КОСВЕННЫЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ, ОБРАЗЦОВЫЕ
00034  * ИЛИ ПОСЛЕДОВАТЕЛЬНЫЕ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ЭТИМ, ТРЕБОВАНИЯ
00035  * ЗАМЕНЫ ТОВАРА ИЛИ СЕРВИСА; ПОТЕРИ ИСПОЛЬЗОВАНИЯ, ДАННЫХ ИЛИ ВЫГОДЫ;
00036  * ИЛИ ПРЕКРАЩЕНИЕ БИЗНЕСА), ОДНАКО ВЫЗВАННЫЕ ПО ЛЮБОЙ ТЕОРИИ ОТВЕТСТВЕННОСТИ,
00037  * ЛИБО В КОНТРАКТЕ, ПРЯМОЙ ОТВЕТСТВЕННОСТИ, ЛИБО В НАРУШЕНИИ ЗАКОННЫХ ПРАВ
00038  * (ВКЛЮЧАЯ ТАК ИЛИ ИНАЧЕ НЕБРЕЖНОСТЬ), ВОЗНИКАЮЩИЕ ВСЕГДА ИЗ ИСПОЛЬЗОВАНИЯ
00039  * ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ДАЖЕ ЕСЛИ БЫЛО ПРЕДУПРЕЖДЕНИЕ О ВОЗМОЖНОСТИ
00040  * ТАКОГО ПОВРЕЖДЕНИЯ.
00041  *
00042  * Этот файл является частью стека uIP TCP/IP.
00043  *
00044  * $Id: smtp.h,v 1.4 2006/06/11 21:46:37 adam Exp $
00045  *
00046  */
00047 #ifndef __SMTP_H__
00048 #define __SMTP_H__
00049 
00050 #include "uipopt.h"
00051 
00052 /**
00053  * Номер, который указывает на отсутствие ошибки.
00054  */
00055 #define SMTP_ERR_OK 0
00056 
00057 /**
00058  * Функция обратного вызова (callback), которая вызывается, когда передача
00059  * e-mail завершена.
00060  *
00061  * Эта функция должна быть реализована в том модуле кода, который использует
00062  * модуль SMTP.
00063  *
00064  * \param error Номер ошибки, если она была, или SMTP_ERR_OK.
00065  */
00066 void smtp_done(unsigned char error);
00067 
00068 void smtp_init(void);
00069 
00070 /* Функции. */
00071 void smtp_configure(char *localhostname, u16_t *smtpserver);
00072 unsigned char smtp_send(char *to, char *from,
00073                          char *subject, char *msg,
00074                          u16_t msglen);
00075 #define SMTP_SEND(to, cc, from, subject, msg) \
00076         smtp_send(to, cc, from, subject, msg, strlen(msg))
00077 
00078 void smtp_appcall(void);
00079 
00080 struct smtp_state {
00081   u8_t state;
00082   char *to;
00083   char *from;
00084   char *subject;
00085   char *msg;
00086   u16_t msglen;
00087   
00088   u16_t sentlen, textlen;
00089   u16_t sendptr;
00090 
00091 };
00092 
00093 
00094 #ifndef UIP_APPCALL
00095 #define UIP_APPCALL     smtp_appcall
00096 #endif
00097 typedef struct smtp_state uip_tcp_appstate_t;
00098 
00099 
00100 #endif /* __SMTP_H__ */
00101 
00102 /** @} */