flowmon-http-plugins  1.0
FlowMon HTTP Input/Process/export plugins
 All Data Structures Files Functions Variables Typedefs Macros
lex.functions.c
Go to the documentation of this file.
1 
40 void my_init_extra(yyscan_t backup_scanner, YY_EXTRA_TYPE user_defined, yyscan_t scanner)
41 {
42  *((struct yyguts_t *) scanner) = *((struct yyguts_t *) backup_scanner);
43  yyset_extra(user_defined, scanner);
44 
45 }
46 
48 inline void my_switch_to_buffer(YY_BUFFER_STATE new_buffer, yyscan_t yyscanner)
49 {
50  static struct yy_buffer_state *buffer_stack;
51  struct yyguts_t *yyg = (struct yyguts_t *)yyscanner;
52 
53  yyg->yy_buffer_stack = &buffer_stack;
54 
55  YY_CURRENT_BUFFER_LVALUE = new_buffer;
56  yy_load_buffer_state(yyscanner);
57 }
58 
60 inline char YY_GET_EOF_CHAR()
61 {
62  return YY_END_OF_BUFFER_CHAR;
63 }
64 
66 inline YY_BUFFER_STATE my_scan_buffer(char *base, yy_size_t size, yyscan_t yyscanner)
67 {
68  static struct yy_buffer_state b;
69 
70  if (size < 2 || base[size - 2] != YY_END_OF_BUFFER_CHAR || base[size - 1] != YY_END_OF_BUFFER_CHAR)
71  /* They forgot to leave room for the EOB's. */
72  return 0;
73 
74  b.yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
75  b.yy_buf_pos = b.yy_ch_buf = base;
76  b.yy_is_our_buffer = 0;
77  b.yy_input_file = 0;
78  b.yy_n_chars = b.yy_buf_size;
79  b.yy_is_interactive = 0;
80  b.yy_at_bol = 1;
81  b.yy_fill_buffer = 0;
82  b.yy_buffer_status = YY_BUFFER_NEW;
83 
84  my_switch_to_buffer(&b, yyscanner);
85 
86  return &b;
87 }
88 
90 YY_BUFFER_STATE my_scan_bytes(yyconst char *yybytes, yy_size_t _yybytes_len, yyscan_t yyscanner)
91 {
92  YY_BUFFER_STATE b;
93  char *buf;
94  yy_size_t n;
95 
96  /* Get memory for full buffer, including space for trailing EOB's. */
97  n = _yybytes_len + 2;
98  buf = (char *)yyalloc(n, yyscanner);
99  if (!buf)
100  YY_FATAL_ERROR("out of dynamic memory in yy_scan_bytes()");
101 
102  strncpy(buf, yybytes, _yybytes_len);
103 
104  buf[_yybytes_len] = buf[_yybytes_len + 1] = YY_END_OF_BUFFER_CHAR;
105 
106  b = my_scan_buffer(buf, n, yyscanner);
107  if (!b)
108  YY_FATAL_ERROR("bad buffer in yy_scan_bytes()");
109 
110  /* It's okay to grow etc. this buffer, and we should throw it
111  * away when we're done.
112  */
113  b->yy_is_our_buffer = 1;
114 
115  return b;
116 }
117 
119 void my_delete_buffer(YY_BUFFER_STATE b, yyscan_t yyscanner)
120 {
121  struct yyguts_t *yyg = (struct yyguts_t *)yyscanner;
122 
123  if (!b)
124  return;
125 
126  if (b == YY_CURRENT_BUFFER) /* Not sure if we should pop here. */
127  YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
128 
129  if (b->yy_is_our_buffer)
130  yyfree((void *)b->yy_ch_buf, yyscanner);
131 }