/* * 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 /* 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
\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 /* End byte packing */ #endif //#ifndef _HTML_H