123 lines
3.9 KiB
C
123 lines
3.9 KiB
C
/*
|
|
* html.h
|
|
*
|
|
* Constants and Macros for html file generation and parsing
|
|
*
|
|
* Revision History:
|
|
*
|
|
* When Who What
|
|
* -------- ------------------ ---------------------------------------
|
|
* Sunita Created/defined macros to write and parse html
|
|
*/
|
|
|
|
#ifndef _HTML_H
|
|
#define _HTML_H
|
|
|
|
//include for common token defns
|
|
#include "nameres.h"
|
|
|
|
#include <pshpack8.h> /* Assume 8 byte packing throughout */
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
//html file manipulation macros
|
|
#define HTMLTOKENBEGINCHAR TOKENBEGINCHAR
|
|
#define HTMLTOKENENDCHAR TOKENENDCHAR
|
|
#define HTMLHEADERSTARTSTR HEADSTARTSTR
|
|
#define HTMLHEADERENDSTR HEADENDSTR
|
|
#define HTMLSIGNSTARTSTR "HTML"
|
|
#define HTMLSIGNENDSTR "/HTML"
|
|
#define HTMLBODYSTARTSTR "BODY"
|
|
#define HTMLBODYENDSTR "/BODY"
|
|
#define HTMLAHREFSTARTSTR "A HREF = "
|
|
#define HTMLAHREFENDSTR "/A"
|
|
#define HTMLTITLESTARTSTR "TITLE"
|
|
#define HTMLTITLEENDSTR "/TITLE"
|
|
#define HTMLCONTENTTYPESTR "Content-Type: text/html\r\n\n\n"
|
|
|
|
//token types in the ipa file format
|
|
#define HTMLTOKEN_INVALID 0
|
|
#define HTMLTOKEN_UNKNOWN 1
|
|
#define HTMLTOKEN_SIGNSTART 2
|
|
#define HTMLTOKEN_SIGNEND 3
|
|
#define HTMLTOKEN_HEADSTART 4
|
|
#define HTMLTOKEN_HEADEND 5
|
|
#define HTMLTOKEN_BODYSTART 6
|
|
#define HTMLTOKEN_BODYEND 7
|
|
#define HTMLTOKEN_AHREFSTART 8
|
|
#define HTMLTOKEN_AHREFEND 9
|
|
#define HTMLTOKEN_TITLESTART 10
|
|
#define HTMLTOKEN_TITLEEND 11
|
|
|
|
//write macros
|
|
//note all macros taken LPSTR - it is the responsibility of the calling
|
|
//code to do any appropriate string conversions.
|
|
#define WRITEHTMLSIGNATURESTART(lpBuf) \
|
|
wsprintf((LPSTR)(lpBuf), "%c%s%c\r\n", HTMLTOKENBEGINCHAR, \
|
|
(LPSTR)HTMLSIGNSTARTSTR,HTMLTOKENENDCHAR)
|
|
|
|
#define WRITEHTMLSIGNATUREEND(lpBuf) \
|
|
wsprintf((LPSTR)(lpBuf), "%c%s%c\r\n", HTMLTOKENBEGINCHAR, \
|
|
(LPSTR)HTMLSIGNENDSTR,HTMLTOKENENDCHAR)
|
|
|
|
#define WRITEHTMLHEADERSTART(lpBuf) \
|
|
wsprintf((LPSTR)(lpBuf), "%c%s%c\r\n", HTMLTOKENBEGINCHAR, \
|
|
(LPSTR)HTMLHEADERSTARTSTR,HTMLTOKENENDCHAR)
|
|
|
|
#define WRITEHTMLHEADEREND(lpBuf) \
|
|
wsprintf((LPSTR)(lpBuf), "%c%s%c\r\n", HTMLTOKENBEGINCHAR, \
|
|
(LPSTR)HTMLHEADERENDSTR,HTMLTOKENENDCHAR)
|
|
|
|
#define WRITEHTMLTITLESTART(lpBuf) \
|
|
wsprintf((LPSTR)(lpBuf), "%c%s%c\r\n", HTMLTOKENBEGINCHAR, \
|
|
(LPSTR)HTMLTITLESTARTSTR,HTMLTOKENENDCHAR)
|
|
|
|
#define WRITEHTMLTITLE(lpBuf,lpszTitle) \
|
|
wsprintf((LPSTR)(lpBuf), "%s\r\n", lpszTitle)
|
|
|
|
#define WRITEHTMLTITLEEND(lpBuf) \
|
|
wsprintf((LPSTR)(lpBuf), "%c%s%c\r\n", HTMLTOKENBEGINCHAR, \
|
|
(LPSTR)HTMLTITLEENDSTR,HTMLTOKENENDCHAR)
|
|
|
|
#define WRITEHTMLBODYSTART(lpBuf) \
|
|
wsprintf((LPSTR)(lpBuf), "%c%s%c\r\n", HTMLTOKENBEGINCHAR, \
|
|
(LPSTR)HTMLBODYSTARTSTR,HTMLTOKENENDCHAR)
|
|
|
|
#define WRITEHTMLBODYEND(lpBuf) \
|
|
wsprintf((LPSTR)(lpBuf), "%c%s%c\r\n", HTMLTOKENBEGINCHAR, \
|
|
(LPSTR)HTMLBODYENDSTR,HTMLTOKENENDCHAR)
|
|
|
|
#define WRITEHTMLSIGNATURE(lpBuf) \
|
|
wsprintf((LPSTR)(lpBuf), "%c%s%c\r\n", HTMLTOKENBEGINCHAR, \
|
|
(LPSTR)HTMLSIGNATURESTR,HTMLTOKENENDCHAR)
|
|
|
|
#define WRITEHTMLREF(lpBuf,lpszUrl,lpszDisplayName) \
|
|
wsprintf((LPSTR)(lpBuf), "%c%s\"%s\"%c%s%c%s%c\r\n", \
|
|
HTMLTOKENBEGINCHAR,(LPSTR)HTMLAHREFSTARTSTR, \
|
|
(LPSTR)lpszUrl,HTMLTOKENENDCHAR, \
|
|
(LPSTR)lpszDisplayName,HTMLTOKENBEGINCHAR, \
|
|
(LPSTR)HTMLAHREFENDSTR,HTMLTOKENENDCHAR)
|
|
|
|
#define WRITEHTMLREFCRLF(lpBuf,lpszUrl,lpszDisplayName) \
|
|
wsprintf((LPSTR)(lpBuf), "%c%s\"%s\"%c%s%c%s%c<BR>\r\n", \
|
|
HTMLTOKENBEGINCHAR,(LPSTR)HTMLAHREFSTARTSTR, \
|
|
(LPSTR)lpszUrl,HTMLTOKENENDCHAR, \
|
|
(LPSTR)lpszDisplayName,HTMLTOKENBEGINCHAR, \
|
|
(LPSTR)HTMLAHREFENDSTR,HTMLTOKENENDCHAR)
|
|
|
|
//token identification macros
|
|
#define ISBUFOURHTMLTOKEN(lpBuf,dwBufSize,lpszToken) \
|
|
((strlen((LPSTR)lpszToken) == dwBufSize) ? \
|
|
!(memcmp((LPBYTE)lpBuf,(LPBYTE)lpszToken,dwBufSize)) : 0 )
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#include <poppack.h> /* End byte packing */
|
|
|
|
#endif //#ifndef _HTML_H
|
|
|