home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / linux / textsearch_fsm.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.1 KB  |  49 lines

  1. #ifndef __LINUX_TEXTSEARCH_FSM_H
  2. #define __LINUX_TEXTSEARCH_FSM_H
  3.  
  4. #include <linux/types.h>
  5.  
  6. enum {
  7.     TS_FSM_SPECIFIC,    /* specific character */
  8.     TS_FSM_WILDCARD,    /* any character */
  9.     TS_FSM_DIGIT,        /* isdigit() */
  10.     TS_FSM_XDIGIT,        /* isxdigit() */
  11.     TS_FSM_PRINT,        /* isprint() */
  12.     TS_FSM_ALPHA,        /* isalpha() */
  13.     TS_FSM_ALNUM,        /* isalnum() */
  14.     TS_FSM_ASCII,        /* isascii() */
  15.     TS_FSM_CNTRL,        /* iscntrl() */
  16.     TS_FSM_GRAPH,        /* isgraph() */
  17.     TS_FSM_LOWER,        /* islower() */
  18.     TS_FSM_UPPER,        /* isupper() */
  19.     TS_FSM_PUNCT,        /* ispunct() */
  20.     TS_FSM_SPACE,        /* isspace() */
  21.     __TS_FSM_TYPE_MAX,
  22. };
  23. #define TS_FSM_TYPE_MAX (__TS_FSM_TYPE_MAX - 1)
  24.  
  25. enum {
  26.     TS_FSM_SINGLE,        /* 1 occurrence */
  27.     TS_FSM_PERHAPS,        /* 1 or 0 occurrence */
  28.     TS_FSM_ANY,        /* 0..n occurrences */
  29.     TS_FSM_MULTI,        /* 1..n occurrences */
  30.     TS_FSM_HEAD_IGNORE,    /* 0..n ignored occurrences at head */
  31.     __TS_FSM_RECUR_MAX,
  32. };
  33. #define TS_FSM_RECUR_MAX (__TS_FSM_RECUR_MAX - 1)
  34.  
  35. /**
  36.  * struct ts_fsm_token - state machine token (state)
  37.  * @type: type of token
  38.  * @recur: number of recurrences
  39.  * @value: character value for TS_FSM_SPECIFIC
  40.  */
  41. struct ts_fsm_token
  42. {
  43.     __u16        type;
  44.     __u8        recur;
  45.     __u8        value;
  46. };
  47.  
  48. #endif
  49.