1 /*
2  * $LynxId: LYCharUtils.h,v 1.28 2012/02/10 18:36:39 tom Exp $
3  */
4 #ifndef LYCHARUTILS_H
5 #define LYCHARUTILS_H
6 
7 #ifndef HTUTILS_H
8 #include <HTUtils.h>
9 #endif /* HTUTILS_H */
10 
11 #ifndef HTSTREAM_H
12 #include <HTStream.h>
13 #endif /* HTSTREAM_H */
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 #define CHECK_ID(code) LYCheckForID(me, present, value, (int)code)
19     typedef enum {
20 	st_HTML = 0,		/* attributes and content found in HTML, probably meant for display */
21 	st_URL,			/* URLs, fragments, NAME and ID */
22 	st_other
23     } CharUtil_st;
24 
25     extern char **LYUCFullyTranslateString(char **str,
26 					   int cs_from,
27 					   int cs_to,
28 					   int do_ent,
29 					   int use_lynx_specials,
30 					   int plain_space,
31 					   int hidden,
32 					   int Back,
33 					   CharUtil_st stype);
34     extern BOOL LYUCTranslateHTMLString(char **str,
35 					int cs_from,
36 					int cs_to,
37 					int use_lynx_specials,
38 					int plain_space,
39 					int hidden,
40 					CharUtil_st stype);
41     extern BOOL LYUCTranslateBackFormData(char **str,
42 					  int cs_from,
43 					  int cs_to,
44 					  int plain_space);
45     extern void LYEntify(char **str,
46 			 int isTITLE);
47     extern const char *LYEntifyTitle(char **target, const char *source);
48     extern const char *LYEntifyValue(char **target, const char *source);
49     extern void LYTrimHead(char *str);
50     extern void LYTrimTail(char *str);
51     extern char *LYFindEndOfComment(char *str);
52     extern void LYFillLocalFileURL(char **href,
53 				   const char *base);
54     extern void LYAddMETAcharsetToFD(FILE *fd,
55 				     int disp_chndl);
56     extern void LYAddMETAcharsetToStream(HTStream *target,
57 					 int disp_chndl);
58     extern void LYformTitle(char **dst,
59 			    const char *src);
60     extern char *LYParseTagParam(char *from,
61 				 const char *name);
62     extern void LYParseRefreshURL(char *content,
63 				  char **p_seconds,
64 				  char **p_address);
65 
66 #ifdef Lynx_HTML_Handler
67     extern int OL_CONTINUE;	/* flag for whether CONTINUE is set */
68     extern int OL_VOID;		/* flag for whether a count is set */
69     extern void LYZero_OL_Counter(HTStructured * me);
70     extern char *LYUppercaseA_OL_String(int seqnum);
71     extern char *LYLowercaseA_OL_String(int seqnum);
72     extern char *LYUppercaseI_OL_String(int seqnum);
73     extern char *LYLowercaseI_OL_String(int seqnum);
74     extern void LYGetChartransInfo(HTStructured * me);
75     extern void LYHandleMETA(HTStructured * me, const BOOL *present,
76 			     STRING2PTR value,
77 			     char **include);
78     extern void LYHandlePlike(HTStructured * me, const BOOL *present,
79 			      STRING2PTR value,
80 			      char **include,
81 			      int align_idx,
82 			      int start);
83     extern void LYHandleSELECT(HTStructured * me, const BOOL *present,
84 			       STRING2PTR value,
85 			       char **include,
86 			       int start);
87     extern int LYLegitimizeHREF(HTStructured * me, char **href,
88 				int force_slash,
89 				int strip_dots);
90     extern void LYCheckForContentBase(HTStructured * me);
91     extern void LYCheckForID(HTStructured * me, const BOOL *present,
92 			     STRING2PTR value,
93 			     int attribute);
94     extern void LYHandleID(HTStructured * me, const char *id);
95     extern BOOLEAN LYoverride_default_alignment(HTStructured * me);
96     extern void LYEnsureDoubleSpace(HTStructured * me);
97     extern void LYEnsureSingleSpace(HTStructured * me);
98     extern void LYResetParagraphAlignment(HTStructured * me);
99     extern BOOLEAN LYCheckForCSI(HTParentAnchor *anchor,
100 				 char **url);
101 
102 #endif				/* Lynx_HTML_Handler */
103 
104 #define LYUCTranslateBackHeaderText LYUCTranslateBackFormData
105 
106 #ifdef __cplusplus
107 }
108 #endif
109 #endif				/* LYCHARUTILS_H */
110