浏览该文件的文档.
81 #ifndef LIB_ASCII_MODULE_PRESENT
82 #define LIB_ASCII_MODULE_PRESENT
120 #ifdef LIB_ASCII_MODULE
121 #define LIB_ASCII_EXT
123 #define LIB_ASCII_EXT extern
141 #define ASCII_CHAR_NULL 0x00
142 #define ASCII_CHAR_START_OF_HEADING 0x01
143 #define ASCII_CHAR_START_OF_TEXT 0x02
144 #define ASCII_CHAR_END_OF_TEXT 0x03
145 #define ASCII_CHAR_END_OF_TRANSMISSION 0x04
146 #define ASCII_CHAR_ENQUIRY 0x05
147 #define ASCII_CHAR_ACKNOWLEDGE 0x06
148 #define ASCII_CHAR_BELL 0x07
149 #define ASCII_CHAR_BACKSPACE 0x08
150 #define ASCII_CHAR_CHARACTER_TABULATION 0x09
151 #define ASCII_CHAR_LINE_FEED 0x0A
152 #define ASCII_CHAR_LINE_TABULATION 0x0B
153 #define ASCII_CHAR_FORM_FEED 0x0C
154 #define ASCII_CHAR_CARRIAGE_RETURN 0x0D
155 #define ASCII_CHAR_SHIFT_OUT 0x0E
156 #define ASCII_CHAR_SHIFT_IN 0x0F
157 #define ASCII_CHAR_DATA_LINK_ESCAPE 0x10
158 #define ASCII_CHAR_DEVICE_CONTROL_ONE 0x11
159 #define ASCII_CHAR_DEVICE_CONTROL_TWO 0x12
160 #define ASCII_CHAR_DEVICE_CONTROL_THREE 0x13
161 #define ASCII_CHAR_DEVICE_CONTROL_FOUR 0x14
162 #define ASCII_CHAR_NEGATIVE_ACKNOWLEDGE 0x15
163 #define ASCII_CHAR_SYNCHRONOUS_IDLE 0x16
164 #define ASCII_CHAR_END_OF_TRANSMISSION_BLOCK 0x17
165 #define ASCII_CHAR_CANCEL 0x18
166 #define ASCII_CHAR_END_OF_MEDIUM 0x19
167 #define ASCII_CHAR_SUBSITUTE 0x1A
168 #define ASCII_CHAR_ESCAPE 0x1B
169 #define ASCII_CHAR_INFO_SEPARATOR_FOUR 0x1C
170 #define ASCII_CHAR_INFO_SEPARATOR_THREE 0x1D
171 #define ASCII_CHAR_INFO_SEPARATOR_TWO 0x1E
172 #define ASCII_CHAR_INFO_SEPARATOR_ONE 0x1F
174 #define ASCII_CHAR_NUL ASCII_CHAR_NULL
175 #define ASCII_CHAR_SOH ASCII_CHAR_START_OF_HEADING
176 #define ASCII_CHAR_START_HEADING ASCII_CHAR_START_OF_HEADING
177 #define ASCII_CHAR_STX ASCII_CHAR_START_OF_TEXT
178 #define ASCII_CHAR_START_TEXT ASCII_CHAR_START_OF_TEXT
179 #define ASCII_CHAR_ETX ASCII_CHAR_END_OF_TEXT
180 #define ASCII_CHAR_END_TEXT ASCII_CHAR_END_OF_TEXT
181 #define ASCII_CHAR_EOT ASCII_CHAR_END_OF_TRANSMISSION
182 #define ASCII_CHAR_END_TRANSMISSION ASCII_CHAR_END_OF_TRANSMISSION
183 #define ASCII_CHAR_ENQ ASCII_CHAR_ENQUIRY
184 #define ASCII_CHAR_ACK ASCII_CHAR_ACKNOWLEDGE
185 #define ASCII_CHAR_BEL ASCII_CHAR_BELL
186 #define ASCII_CHAR_BS ASCII_CHAR_BACKSPACE
187 #define ASCII_CHAR_HT ASCII_CHAR_CHARACTER_TABULATION
188 #define ASCII_CHAR_TAB ASCII_CHAR_CHARACTER_TABULATION
189 #define ASCII_CHAR_LF ASCII_CHAR_LINE_FEED
190 #define ASCII_CHAR_VT ASCII_CHAR_LINE_TABULATION
191 #define ASCII_CHAR_FF ASCII_CHAR_FORM_FEED
192 #define ASCII_CHAR_CR ASCII_CHAR_CARRIAGE_RETURN
193 #define ASCII_CHAR_SO ASCII_CHAR_SHIFT_OUT
194 #define ASCII_CHAR_SI ASCII_CHAR_SHIFT_IN
195 #define ASCII_CHAR_DLE ASCII_CHAR_DATA_LINK_ESCAPE
196 #define ASCII_CHAR_DC1 ASCII_CHAR_DEVICE_CONTROL_ONE
197 #define ASCII_CHAR_DC2 ASCII_CHAR_DEVICE_CONTROL_TWO
198 #define ASCII_CHAR_DC3 ASCII_CHAR_DEVICE_CONTROL_THREE
199 #define ASCII_CHAR_DC4 ASCII_CHAR_DEVICE_CONTROL_FOUR
200 #define ASCII_CHAR_DEV_CTRL_ONE ASCII_CHAR_DEVICE_CONTROL_ONE
201 #define ASCII_CHAR_DEV_CTRL_TWO ASCII_CHAR_DEVICE_CONTROL_TWO
202 #define ASCII_CHAR_DEV_CTRL_THREE ASCII_CHAR_DEVICE_CONTROL_THREE
203 #define ASCII_CHAR_DEV_CTRL_FOUR ASCII_CHAR_DEVICE_CONTROL_FOUR
204 #define ASCII_CHAR_NAK ASCII_CHAR_NEGATIVE_ACKNOWLEDGE
205 #define ASCII_CHAR_NEG_ACK ASCII_CHAR_NEGATIVE_ACKNOWLEDGE
206 #define ASCII_CHAR_SYN ASCII_CHAR_SYNCHRONOUS_IDLE
207 #define ASCII_CHAR_SYNC_IDLE ASCII_CHAR_SYNCHRONOUS_IDLE
208 #define ASCII_CHAR_ETB ASCII_CHAR_END_OF_TRANSMISSION_BLOCK
209 #define ASCII_CHAR_END_TRANSMISSION_BLK ASCII_CHAR_END_OF_TRANSMISSION_BLOCK
210 #define ASCII_CHAR_CAN ASCII_CHAR_CANCEL
211 #define ASCII_CHAR_EM ASCII_CHAR_END_OF_MEDIUM
212 #define ASCII_CHAR_END_MEDIUM ASCII_CHAR_END_OF_MEDIUM
213 #define ASCII_CHAR_SUB ASCII_CHAR_SUBSITUTE
214 #define ASCII_CHAR_ESC ASCII_CHAR_ESCAPE
215 #define ASCII_CHAR_IS1 ASCII_CHAR_INFO_SEPARATOR_ONE
216 #define ASCII_CHAR_IS2 ASCII_CHAR_INFO_SEPARATOR_TWO
217 #define ASCII_CHAR_IS3 ASCII_CHAR_INFO_SEPARATOR_THREE
218 #define ASCII_CHAR_IS4 ASCII_CHAR_INFO_SEPARATOR_FOUR
223 #define ASCII_CHAR_SPACE 0x20
224 #define ASCII_CHAR_EXCLAMATION_MARK 0x21
225 #define ASCII_CHAR_QUOTATION_MARK 0x22
226 #define ASCII_CHAR_NUMBER_SIGN 0x23
227 #define ASCII_CHAR_DOLLAR_SIGN 0x24
228 #define ASCII_CHAR_PERCENTAGE_SIGN 0x25
229 #define ASCII_CHAR_AMPERSAND 0x26
230 #define ASCII_CHAR_APOSTROPHE 0x27
231 #define ASCII_CHAR_LEFT_PARENTHESIS 0x28
232 #define ASCII_CHAR_RIGHT_PARENTHESIS 0x29
233 #define ASCII_CHAR_ASTERISK 0x2A
234 #define ASCII_CHAR_PLUS_SIGN 0x2B
235 #define ASCII_CHAR_COMMA 0x2C
236 #define ASCII_CHAR_HYPHEN_MINUS 0x2D
237 #define ASCII_CHAR_FULL_STOP 0x2E
238 #define ASCII_CHAR_SOLIDUS 0x2F
240 #define ASCII_CHAR_PAREN_LEFT ASCII_CHAR_LEFT_PARENTHESIS
241 #define ASCII_CHAR_PAREN_RIGHT ASCII_CHAR_RIGHT_PARENTHESIS
245 #define ASCII_CHAR_DIGIT_ZERO 0x30
246 #define ASCII_CHAR_DIGIT_ONE 0x31
247 #define ASCII_CHAR_DIGIT_TWO 0x32
248 #define ASCII_CHAR_DIGIT_THREE 0x33
249 #define ASCII_CHAR_DIGIT_FOUR 0x34
250 #define ASCII_CHAR_DIGIT_FIVE 0x35
251 #define ASCII_CHAR_DIGIT_SIX 0x36
252 #define ASCII_CHAR_DIGIT_SEVEN 0x37
253 #define ASCII_CHAR_DIGIT_EIGHT 0x38
254 #define ASCII_CHAR_DIGIT_NINE 0x39
256 #define ASCII_CHAR_DIG_ZERO ASCII_CHAR_DIGIT_ZERO
257 #define ASCII_CHAR_DIG_ONE ASCII_CHAR_DIGIT_ONE
258 #define ASCII_CHAR_DIG_TWO ASCII_CHAR_DIGIT_TWO
259 #define ASCII_CHAR_DIG_THREE ASCII_CHAR_DIGIT_THREE
260 #define ASCII_CHAR_DIG_FOUR ASCII_CHAR_DIGIT_FOUR
261 #define ASCII_CHAR_DIG_FIVE ASCII_CHAR_DIGIT_FIVE
262 #define ASCII_CHAR_DIG_SIX ASCII_CHAR_DIGIT_SIX
263 #define ASCII_CHAR_DIG_SEVEN ASCII_CHAR_DIGIT_SEVEN
264 #define ASCII_CHAR_DIG_EIGHT ASCII_CHAR_DIGIT_EIGHT
265 #define ASCII_CHAR_DIG_NINE ASCII_CHAR_DIGIT_NINE
269 #define ASCII_CHAR_COLON 0x3A
270 #define ASCII_CHAR_SEMICOLON 0x3B
271 #define ASCII_CHAR_LESS_THAN_SIGN 0x3C
272 #define ASCII_CHAR_EQUALS_SIGN 0x3D
273 #define ASCII_CHAR_GREATER_THAN_SIGN 0x3E
274 #define ASCII_CHAR_QUESTION_MARK 0x3F
275 #define ASCII_CHAR_COMMERCIAL_AT 0x40
277 #define ASCII_CHAR_AT_SIGN ASCII_CHAR_COMMERCIAL_AT
282 #define ASCII_CHAR_LATIN_UPPER_A 0x41
283 #define ASCII_CHAR_LATIN_UPPER_B 0x42
284 #define ASCII_CHAR_LATIN_UPPER_C 0x43
285 #define ASCII_CHAR_LATIN_UPPER_D 0x44
286 #define ASCII_CHAR_LATIN_UPPER_E 0x45
287 #define ASCII_CHAR_LATIN_UPPER_F 0x46
288 #define ASCII_CHAR_LATIN_UPPER_G 0x47
289 #define ASCII_CHAR_LATIN_UPPER_H 0x48
290 #define ASCII_CHAR_LATIN_UPPER_I 0x49
291 #define ASCII_CHAR_LATIN_UPPER_J 0x4A
292 #define ASCII_CHAR_LATIN_UPPER_K 0x4B
293 #define ASCII_CHAR_LATIN_UPPER_L 0x4C
294 #define ASCII_CHAR_LATIN_UPPER_M 0x4D
295 #define ASCII_CHAR_LATIN_UPPER_N 0x4E
296 #define ASCII_CHAR_LATIN_UPPER_O 0x4F
297 #define ASCII_CHAR_LATIN_UPPER_P 0x50
298 #define ASCII_CHAR_LATIN_UPPER_Q 0x51
299 #define ASCII_CHAR_LATIN_UPPER_R 0x52
300 #define ASCII_CHAR_LATIN_UPPER_S 0x53
301 #define ASCII_CHAR_LATIN_UPPER_T 0x54
302 #define ASCII_CHAR_LATIN_UPPER_U 0x55
303 #define ASCII_CHAR_LATIN_UPPER_V 0x56
304 #define ASCII_CHAR_LATIN_UPPER_W 0x57
305 #define ASCII_CHAR_LATIN_UPPER_X 0x58
306 #define ASCII_CHAR_LATIN_UPPER_Y 0x59
307 #define ASCII_CHAR_LATIN_UPPER_Z 0x5A
311 #define ASCII_CHAR_LEFT_SQUARE_BRACKET 0x5B
312 #define ASCII_CHAR_REVERSE_SOLIDUS 0x5C
313 #define ASCII_CHAR_RIGHT_SQUARE_BRACKET 0x5D
314 #define ASCII_CHAR_CIRCUMFLEX_ACCENT 0x5E
315 #define ASCII_CHAR_LOW_LINE 0x5F
316 #define ASCII_CHAR_GRAVE_ACCENT 0x60
318 #define ASCII_CHAR_BRACKET_SQUARE_LEFT ASCII_CHAR_LEFT_SQUARE_BRACKET
319 #define ASCII_CHAR_BRACKET_SQUARE_RIGHT ASCII_CHAR_RIGHT_SQUARE_BRACKET
323 #define ASCII_CHAR_LATIN_LOWER_A 0x61
324 #define ASCII_CHAR_LATIN_LOWER_B 0x62
325 #define ASCII_CHAR_LATIN_LOWER_C 0x63
326 #define ASCII_CHAR_LATIN_LOWER_D 0x64
327 #define ASCII_CHAR_LATIN_LOWER_E 0x65
328 #define ASCII_CHAR_LATIN_LOWER_F 0x66
329 #define ASCII_CHAR_LATIN_LOWER_G 0x67
330 #define ASCII_CHAR_LATIN_LOWER_H 0x68
331 #define ASCII_CHAR_LATIN_LOWER_I 0x69
332 #define ASCII_CHAR_LATIN_LOWER_J 0x6A
333 #define ASCII_CHAR_LATIN_LOWER_K 0x6B
334 #define ASCII_CHAR_LATIN_LOWER_L 0x6C
335 #define ASCII_CHAR_LATIN_LOWER_M 0x6D
336 #define ASCII_CHAR_LATIN_LOWER_N 0x6E
337 #define ASCII_CHAR_LATIN_LOWER_O 0x6F
338 #define ASCII_CHAR_LATIN_LOWER_P 0x70
339 #define ASCII_CHAR_LATIN_LOWER_Q 0x71
340 #define ASCII_CHAR_LATIN_LOWER_R 0x72
341 #define ASCII_CHAR_LATIN_LOWER_S 0x73
342 #define ASCII_CHAR_LATIN_LOWER_T 0x74
343 #define ASCII_CHAR_LATIN_LOWER_U 0x75
344 #define ASCII_CHAR_LATIN_LOWER_V 0x76
345 #define ASCII_CHAR_LATIN_LOWER_W 0x77
346 #define ASCII_CHAR_LATIN_LOWER_X 0x78
347 #define ASCII_CHAR_LATIN_LOWER_Y 0x79
348 #define ASCII_CHAR_LATIN_LOWER_Z 0x7A
352 #define ASCII_CHAR_LEFT_CURLY_BRACKET 0x7B
353 #define ASCII_CHAR_VERTICAL_LINE 0x7C
354 #define ASCII_CHAR_RIGHT_CURLY_BRACKET 0x7D
355 #define ASCII_CHAR_TILDE 0x7E
357 #define ASCII_CHAR_BRACKET_CURLY_LEFT ASCII_CHAR_LEFT_CURLY_BRACKET
358 #define ASCII_CHAR_BRACKET_CURLY_RIGHT ASCII_CHAR_RIGHT_CURLY_BRACKET
362 #define ASCII_CHAR_DELETE 0x7F
364 #define ASCII_CHAR_DEL ASCII_CHAR_DELETE
418 #define ASCII_IS_DIG(c) ((((c) >= ASCII_CHAR_DIG_ZERO) && ((c) <= ASCII_CHAR_DIG_NINE)) ? (DEF_YES) : (DEF_NO))
439 #define ASCII_IS_DIG_OCT(c) ((((c) >= ASCII_CHAR_DIG_ZERO) && ((c) <= ASCII_CHAR_DIG_SEVEN)) ? (DEF_YES) : (DEF_NO))
461 #define ASCII_IS_DIG_HEX(c) (((((c) >= ASCII_CHAR_DIG_ZERO ) && ((c) <= ASCII_CHAR_DIG_NINE )) || \
462 (((c) >= ASCII_CHAR_LATIN_UPPER_A) && ((c) <= ASCII_CHAR_LATIN_UPPER_F)) || \
463 (((c) >= ASCII_CHAR_LATIN_LOWER_A) && ((c) <= ASCII_CHAR_LATIN_LOWER_F))) ? (DEF_YES) : (DEF_NO))
486 #define ASCII_IS_LOWER(c) ((((c) >= ASCII_CHAR_LATIN_LOWER_A) && ((c) <= ASCII_CHAR_LATIN_LOWER_Z)) ? (DEF_YES) : (DEF_NO))
508 #define ASCII_IS_UPPER(c) ((((c) >= ASCII_CHAR_LATIN_UPPER_A) && ((c) <= ASCII_CHAR_LATIN_UPPER_Z)) ? (DEF_YES) : (DEF_NO))
531 #define ASCII_IS_ALPHA(c) ((((ASCII_IS_UPPER(c)) == DEF_YES) || \
532 ((ASCII_IS_LOWER(c)) == DEF_YES)) ? (DEF_YES) : (DEF_NO))
554 #define ASCII_IS_ALPHA_NUM(c) ((((ASCII_IS_ALPHA(c)) == DEF_YES) || \
555 ((ASCII_IS_DIG (c)) == DEF_YES)) ? (DEF_YES) : (DEF_NO))
581 #define ASCII_IS_BLANK(c) ((((c) == ASCII_CHAR_SPACE) || ((c) == ASCII_CHAR_HT)) ? (DEF_YES) : (DEF_NO))
607 #define ASCII_IS_SPACE(c) ((((c) == ASCII_CHAR_SPACE) || ((c) == ASCII_CHAR_CR) || \
608 ((c) == ASCII_CHAR_LF ) || ((c) == ASCII_CHAR_FF) || \
609 ((c) == ASCII_CHAR_HT ) || ((c) == ASCII_CHAR_VT)) ? (DEF_YES) : (DEF_NO))
636 #define ASCII_IS_PRINT(c) ((((c) >= ASCII_CHAR_SPACE) && ((c) <= ASCII_CHAR_TILDE)) ? (DEF_YES) : (DEF_NO))
662 #define ASCII_IS_GRAPH(c) ((((c) >= ASCII_CHAR_EXCLAMATION_MARK) && ((c) <= ASCII_CHAR_TILDE)) ? (DEF_YES) : (DEF_NO))
685 #define ASCII_IS_PUNCT(c) ((((ASCII_IS_PRINT(c)) == DEF_YES) && \
686 ((ASCII_IS_SPACE(c)) == DEF_NO ) && \
687 ((ASCII_IS_ALPHA_NUM(c)) == DEF_NO )) ? (DEF_YES) : (DEF_NO))
713 #define ASCII_IS_CTRL(c) (((((CPU_INT08S)(c) >= ASCII_CHAR_NULL ) && ((c) <= ASCII_CHAR_IS1)) || \
714 ((c) == ASCII_CHAR_DEL)) ? (DEF_YES) : (DEF_NO))
751 #define ASCII_TO_LOWER(c) (((ASCII_IS_UPPER(c)) == DEF_YES) ? ((c) + (ASCII_CHAR_LATIN_LOWER_A - ASCII_CHAR_LATIN_UPPER_A)) : (c))
781 #define ASCII_TO_UPPER(c) (((ASCII_IS_LOWER(c)) == DEF_YES) ? ((c) - (ASCII_CHAR_LATIN_LOWER_A - ASCII_CHAR_LATIN_UPPER_A)) : (c))