home *** CD-ROM | disk | FTP | other *** search
- /*
- * sys/msdos/chardef.h: character set specific #defines for mg 2a
- */
-
- #ifndef CHARMASK
- /*
- * casting should be at least as efficent as anding with 0xff,
- * and won't have the size problems. Override in sysdef.h if no
- * unsigned char type.
- */
- # define CHARMASK(c) ((unsigned char) (c))
- #endif
-
-
- #ifdef SOL_0
- # include <ctype.h>
- # define ISWORD(c) (isalpha(c) || isdigit(c) || ispunct(c))
- # define ISCTRL(c) iscntrl(c)
- # define ISUPPER(c) isupper(c)
- # define ISLOWER(c) islower(c)
- # define ISEOSP(c) ispunct(c)
- # define ISDIGIT(c) isdigit(c)
- # define TOUPPER(c) toupper(c)
- # define TOLOWER(c) tolower(c)
- #else
- /*
- * These flags, and the macros below them,
- * make up a do-it-yourself set of "ctype" macros that
- * understand the DEC multinational set, and let me ask
- * a slightly different set of questions.
- */
- # define _W 0x01 /* Word. */
- # define _U 0x02 /* Upper case letter. */
- # define _L 0x04 /* Lower case letter. */
- # define _C 0x08 /* Control. */
- # define _P 0x10 /* end of sentence punctuation */
- # define _D 0x20 /* is decimal digit */
- # define ISWORD(c) ((getcinfo(CHARMASK(c))&_W)!=0)
- # define ISCTRL(c) ((getcinfo(CHARMASK(c))&_C)!=0)
- # define ISUPPER(c) ((getcinfo(CHARMASK(c))&_U)!=0)
- # define ISLOWER(c) ((getcinfo(CHARMASK(c))&_L)!=0)
- # define ISEOSP(c) ((getcinfo(CHARMASK(c))&_P)!=0)
- # define ISDIGIT(c) ((getcinfo(CHARMASK(c))&_D)!=0)
- # define TOUPPER(c) ((c)-0x20)
- # define TOLOWER(c) ((c)+0x20)
- #endif
-
- #define ISWHITE(c) (((c) == ' ') || ((c) == '\t'))
- /*
- * generally useful thing for chars
- */
- #define CCHR(x) ((x) ^ 0x40) /* CCHR('?') == DEL */
-
- #ifndef METACH
- # define METACH CCHR('[')
- #endif
-
- #ifdef XKEYS
- # define K00 256
- # define K01 257
- # define K02 258
- # define K03 259
- # define K04 260
- # define K05 261
- # define K06 262
- # define K07 263
- # define K08 264
- # define K09 265
- # define K0A 266
- # define K0B 267
- # define K0C 268
- # define K0D 269
- # define K0E 270
- # define K0F 271
- # define K10 272
- # define K11 273
- # define K12 274
- # define K13 275
- # define K14 276
- # define K15 277
- # define K16 278
- # define K17 279
- # define K18 280
- # define K19 281
- # define K1A 282
- # define K1B 283
- # define K1C 284
- # define K1D 285
- # define K1E 286
- # define K1F 287
- # define K20 288
- # define K21 289
- # define K22 290
- # define K23 291
- # define K24 292
- # define K25 293
- # define K26 294
- # define K27 295
- # define K28 296
- # define K29 297
- # define K2A 298
- # define K2B 299
- # define K2C 300
- # define K2D 301
- # define K2E 302
- # define K2F 303
-
- /* I needed to complete the job of defining F keys and Keypad keys (JAM)
- */
- # define K30 304
- # define K31 305
- # define K32 306
- # define K33 307
- # define K34 308
- # define K35 309
- # define K36 310
- # define K37 311
- # define K38 312
- # define K39 313
- # define K40 314
- # define K41 315
- # define K42 316
- # define K43 317
- # define K44 318
- # define K45 319
- # define K46 320
- # define K47 321
- # define K48 322
- # define K49 323
- # define K50 324
- # define K51 325
- # define K52 326
- # define K53 327
- # define K54 328
- # define K55 329
- # define K56 330
- # define K57 331
- # define K58 332
- # define K59 333
- # define K60 334
- # define K61 335
- # define K62 336
- # define K63 337
- # define K64 338
- # define K65 339
- # define K66 340
- # define K67 341
- # define K68 342
- # define K69 343
- # define K70 344
- # define K71 345
- # define K72 346
- # define K73 347
- # define K74 348
- # define K75 349
- # define K76 350
- # define K77 351
- # define K78 352
- # define K79 353
- # define K80 354
- # define K81 355
- # define K82 356
- # define K83 357
- # define K84 358
- # define K85 359
- # define K86 360
- # define K87 361
- # define K88 362
- # define K89 363
- # define K90 364
- #endif
-
-